Appendix A.3 Differences in Behaviors Between SAX Parser Versions

The following table lists and describes the differences in behaviors between SAX parser versions.

Table A-3 Differences in behaviors between SAX parser versions

No.ConditionCosminexus XML Processor operations
In version 06-00In version 07-00 and later versions
1When the createXMLReader() method of the XMLReaderFactory class is usedAttempts to generate the XMLReader instance by using the value of the org.xml.sax.driver system property.Attempts to generate the XMLReader instance in the following order:
  1. Class name indicated by the org.xml.sax.driver system property
  2. Class name indicated by the META-INF/services/org.xml.sax.driver of the jar file
  3. Default XMLReader class name
  4. Class that wrapped the return value of the makeParser() method of the ParserFactory class by using the ParserAdapter
2When you specify the ContentHandler object for the XMLReader objectEven if an entity is skipped, the skippedEntity method for the ContentHandler object is not called.If an entity is skipped, the skippedEntity method for the ContentHandler object is called.
3If the systemId argument of the externalEntityDecl(String name, String publicId, String systemId) method of the DeclHandler class and the notationDecl(String name, String publicId, String systemId) method of the DTDHandler interface is a URLThe URL might not be resolved completely.URL is resolved completely.
4If you specify null for the argument of the setEntityResolver method, setDTDHandler method, setContentHandler method, and setErrorHandler method in the XMLReader classNullPointerException occurs.The resolver and handler are cleared.
5If you specify null for the argument of the setEntityResolver method, setDTDHandler method, setContentHandler method, and setErrorHandler method in the ParserAdapter classNullPointerException occurs.The resolver and handler are cleared.
6If you specify null for the argument of the setEntityResolver method, setDTDHandler method, setContentHandler method, setErrorHandler method, and setParent method in the XMLFilterImpl classNullPointerException occurs.The resolver, handler, and parent reader are cleared.
7If you set the feature http://xml.org/sax/features/namespaces for SAX parser to false and the feature http://xml.org/sax/features/namespace-prefixes to trueThe startPrefixMapping and the endPrefixMapping methods are invoked for the prefix xml and xmlns.The startPrefixMapping and the endPrefixMapping methods are not invoked for the prefix xml and xmlns.
8If an exception class that has inherited SAXException in the implementation class of the fatalError method of the ErrorHandler interface is thrownThe parser throws SAXException during the execution of parse.The parser as it is throws the exception that is thrown by the fatalError method of the implementation class of the ErrorHandler interface.
9If you specify an inappropriate character string in the http://java.sun.com/xml/jaxp/properties/schemaLanguage property using the setProperty() method of the SAXParser classThe KECX01602-E error is reported.The KECX01903-E error is reported.
10If you specify the http://java.sun.com/xml/jaxp/properties/schemaSource property before specifying the http://java.sun.com/xml/jaxp/properties/schemaLanguage property using the setProperty() method of the SAXParser classThe KECX01603-E error is reported.The KECX01904-E error is reported.