David Bertoni wrote:
John Snelson wrote:
It seems to me that the SGXMLScanner is at fault here, since XQilla works fine with the IGXMLScanner.

The problem seems to be caused because the IGXMLScanner uses a method called processSchemaLocation() to parse the schema location string, where as the SGXMLScanner uses XMLString::tokenizeString().
This points out the maintenance nightmare of the various scanners. I'd bet the vast majority of users never use DGXMLScanner or SGXMLScanner, and I've never seen a single test that proves their performance is any better than that of IGXMLScanner. Perhaps we should consider deprecating them so we can avoid the overhead?

SGXMLScanner is not specification conformant either - it won't flag up well-formed errors in an internal DTD subset, and it won't perform entity replacement for entities defined in the internal DTD subset, to name a couple of reasons.

John

--
John Snelson, Oracle Corporation            http://snelson.org.uk/john
Berkeley DB XML:        http://www.oracle.com/database/berkeley-db/xml
XQilla:                                  http://xqilla.sourceforge.net

Reply via email to