Difference between validating and non validating parser
The main objectives of the Incredible XML Parser library are: The Incredible XML DOM Parser, the Incredible XML Pull Parser and the Incredible JSON Pull Parser can all process terabyte-size XML/JSON files in a few hours on commodity hardware with very low memory consumption (i.e. The three parsers (the Pull Parser and the DOM parser) generate strings either in "char*" or in "wchar_t*" mode.In "char*" mode, the Incredible XML Parser supports nearly any currently known character encodings (and it's very easy to add new ones if required).
Even in Java 1.3 or 1.2 you can replace Xerces with a smaller parser.
it automatically converts from "utf-8" to "utf-16" when using the "wchar_t* version of the library).
The Incredible XML Parser is the only Small Foot-print, Non-validating XML parser that supports a very wide range of different character encodings.
However, chances are good that you're not parsing simple literal strings, so read on …
The DOM API is filled with design patterns, especially creational patterns: package consists solely of interfaces), which can let a misbehaved program wreak havoc in a shared environment such as an app-server.