Difference between validating and non validating parser
While it has not been updated in some time, it is still widely used.
This processor rejects a certain number of documents it shouldn't, and isn't clear about why it did so.
In short, most of the time if you feed this processor a legal XML document it will parse it without needing many resources.
While it is freely available, support (such as bug fixes) costs.
almost three hundred were caused by this error alone.
(Few other parsers had that many failures at all; none had as many "false passes".) The exception is a Many of the documents which this processor accepted were documents which contained illegal XML characters, and so they should have caused fatal errors to be reported.
(Were there not the example of the XML spec itself, and feedback from the XML editors on this issue, it would seem that this processor was in compliance.) Character references that would expand to Unicode surrogate pairs are inappropriately rejected.
Nobody has any real reason to use such pairs yet, so in practice this isn't a problem.