It is possible to store a local cache for frequently used documents using an XML Catalog. St AX was designed as a median between the DOM and SAX interface.In its metaphor, the programmatic entry point is a cursor that represents a point within the document. This will start creating DOM objects as it parses the document - wasteful if you aren't going to use them. You should not use the DOMParser to validate a document (unless your goal is to create a document object model anyway).The application moves the cursor forward - 'pulling' the information from the parser as it needs.This is different from an event based API - such as SAX - which 'pushes' data to the application - requiring the application to maintain state between events as necessary to keep track of location within the document.Provided with a schema, XSD/e generates C classes that represent the given XML vocabulary as well as parsing and serialization code.
It provides XML parsing, serialization, XML Schema validation and XML data binding while maintaining a small footprint and portability.
Sun's JDK 6 uses SAX parser with a Stream Source.
@ziggy - this is an implementation detail of the JAXP implementation.
With XSD/e you can have all the benefits of using XML without any of the drawbacks.
Your application stays small and fast and the code you write will be enjoyable to work with.