Recently there’s been a bunch of announcements of new XML parsers that claim to be very fast, very small or both.I also see a lot of people get very enthusiastic about using them in their applications.You can follow any responses to this entry through the RSS 2.0 feed.
It is true that most of these features are seldom used.
Just the other day I got an email from a user asking if it was possible to use Code Synthesis XSD with a light-weight XML parser that he found instead of Xerces-C++.
Out of curiosity I checked the parser’s description and there I saw a number of common traits of most new, fast, and small XML parsers these days: no support for DTD (internal subset) and CDATA sections, limited support for character and entity references.
The parser is a software library (in Java it’s a class) that reads the XML document and checks it for well-formedness.
The W3C XML specification defines two types of conforming XML parsers: validating and non-validating (see Section 5.1, “Validating and Non-Validating Processors”).
Any parser that wants to be called capable of parsing XML 1.0 documents must at least satisfy the non-validating parser requirements.