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 (http://xml.apache.org).
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 (http://www.trolltech.com) 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 http://www.vlakshman.com. 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
http://www.vlakshman.com
streamdom home page ,
hosted by the kind folks at