For pugixml the compromise is as follows: any well-formed document often has to be transformed in certain ways by the time it reaches the user.
The transformations include end-of-line handling, attribute-value normalization and character reference expansion.
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.
The parser shields the client application from all the complex and not particularly relevant details of XML including: One of the original goals of XML was that it be simple enough that a “Desperate Perl Hacker” (DPH) be able to write an XML parser.
SAX provides a mechanism for reading data from an XML document that is an alternative to that provided by the Document Object Model (DOM).
Where the DOM operates on the document as a whole, i.e.
On the other extreme, the DPH was assumed to be Larry Wall and he was allowed two months for the task.
The middle ground was a smart grad student and a couple of weeks.
The exact interpretation of this requirement varied from person to person.