Validating and non validating xml parser
Even a non-validating parser has to do some relatively resource-intensive validation work.
When performance is the primary goal, a compromise must be reached between performance and conformance.
The online tools listed above are provided to help users and developers check or validate candidate XML documents.The specification explains the distinction between validating and non-validating XML processors in Section 5.1.In contrast to an XML "well-formedness checker" or "XML Syntax Checker," an "XML Validator" uses an XML validating processor to determine whether a candidate XML document conforms to its schema, expressed formally in the DTD (document type definition).as an underlying format for application data model more preferable.
This chapter describes various performance tricks that allowed the author to write a very high-performing parser in C : pugixml.
While the techniques were used for an parser, most of them can be applied to parsers of other formats or even unrelated software (e.g., memory management algorithms are widely applicable beyond parsers).