About VO-India      VOI-Products      Literature      VO-DataArchives      DownLoads

  OtherVOSites      What's New      Event      People      Twiki

C++ stream parser

C++ Streaming parser for VOTable

The C++ Streaming Parser is a library in C++ for parsing VOTables, with streaming support. The APIs provided can be used directly to develop VOTable applications without having to carry out raw VOTable processing.

The streaming parser is different from its previous, non-streaming version, in that it does not create a tree-representation of the document in the memory. It reads the VOTable in chunks. Hence, it can be used for parsing real-time, streaming VOTables as well as those VOTables, which are too large to fit in the memory. The other aspect of being a streaming parser is that it is a single-pass parser, ie the APIs provided do not allow you to move back and forth in the document.

Some Implementation Features

The parser has been implemented on top of the SAX based parser Xerces-C++ 2.2.0. Xerces basically has a push-based approach, but the C++ Streaming Parser acts as a layer on top of Xerces and provides a pull-based approach for the user applications.

The parser was developed by Persistent Systems Ltd. (PSL) and IUCAA as part of the VO-I project.

VOTable format

The VOTable format is a proposed XML (Extensible Markup Language) standard for the exchange of tabular data, with particular emphasis on astronomical tables. A table here is taken to be an unordered set of rows, each of a uniform format, as specified in the table metadata. Each row is a sequence of table cells, and each of these is either a primitive data type, or an array of such primitives. The VOTable format was developed by ..... For more information on VOTable go to http://us-vo.org/VOTable.

Object Model of C++ Parser

 

Downloads

Version Windows32 Linux

Released On

2.0 CppStreamingParser2_0win32.zip (Built with Msvc6) CppStreamingParser2_0linux.zip (Linux Redhat 9.0)(Built with g++ 3.2.2)

11 April 2005

1.0 CppStreamingParser1_0_win32.zip (Built with MSVC6.0) CPPStreamingParser1_0_linux.zip (Linux Redhat 7.1)(Built with g++3.1)

09 May 2003

Source

Version Windows32 Linux

Released On

2.0 CppStreamingParser2_0win32_src.zip(Built with Msvc6) CppStreamingParser2_0linux_src.zip (Built with g++ 3.2.2)

11 April 2005

Change Log is available here.

Please send comments and questions to voindia@iucaa.in.

This project is supported by the Ministry of Communication and Information Technology

   Virtual Observatory India