Validating and non validating parser difference
The extreme speed of the Incredible XML DOM parser allows to easily manipulate extremely large XML files (i.e.terabyte XML files are processed in a few hours on commodity hardware).The Incredible XML Parser is thus the only parser that allows you to very easily analyze very complex XML/JSON files (thanks to the easy-to-use DOM-style parser) of UNLIMITED size.The main bottleneck in any DOM-Style parser is always the memory allocations.This has several advantages: The Incredible XML&JSON Pull parsers are 100% "in-place" parsers.This means that they do NOT copy strings: they only initializes different pointers to the memory buffer containing the XML/JSON data (There is however one inevitable memory copy when converting between different character encodings: for example when the Pull Parser is forced to convert the characters from "utf-16" to "utf-8").The default buffer sizes are optimal to have a good speed on a normal-size PC.
When you setup small buffer sizes, it reduces the memory consumption of the parser but it also usually slightly increases the computation time.
This means that, if you have a XML File such as this one: ..will typically call the XML DOM parser 3 times (i.e. When the DOM parser "hot starts", it always re-uses the same RAM memory space as the previous call so that no additional memory allocations occurs. Since we are building in memory a XMLNode structure that only contains ONE customer at-a-time, the memory consumption is very small (and independent of the total size of the XML file! The "hot start" functionality is unique and very important because it allows us to use a very flexible DOM-style Parser on UNLIMITED XML file size (see example7()).
The Incredible XML Parser is the only DOM-Style parser that is able to work on UNLIMITED XML/JSON file size (all other DOM-Style parsers are always limited to file size smaller than a few Mega Byte).
The Incredible XML/JSON Parser is the only "in-place" Pull parser that returns zero-terminated strings without penalty hit (i.e.
without copying the whole string into a separate buffer).