streamdom -- Quick Start

What is the purpose of the streamdom package?

This package provides an acceptable middle ground between SAX and DOM techniques for parsing XML. A major drawback with DOM is that it requires the complete document and is very memory-intensive, yet SAX is very low-level and hard to work with.

This package converts SAX events from the SAXParser to which it is attached into events for one or more DOM Element handlers provided. The event-handling callbacks get to process entire elements (complete with children and attributes, although of-course, without siblings). Thus, your code can process streaming data using DOM while keeping to the smallest possible memory imprint.

Where do I download it?

From here .

Note that the package provides both C++ and Java. After you download everything, pick the right directory.

The java package can be used with any JAXP-compliant parser. I tested it using Xerces ( The JDOMStream provides events in the form of JDOM Elements, but otherwise, it is similar to the DOMStream class.

The qtxml directory contains the C++ package meant to be used with QT's ( XML parser.

Where is the documentation?

The documentation is included in the package, but it is also here for Java and here for C++

What is the licence?

Open-source and free. It is covered by the artistic licence. The code is (c) V Lakshmanan However, permission is granted to use/modify the package freely in any software -- commercial, open-source or proprietary -- under the condition that accompanying documentation, copyright and usage information not be removed.

Is there any warranty?

None whatsoever, not even any implied ones. Use at your own risk.
V Lakshmanan
streamdom home page , hosted by the kind folks at SourceForge Logo