Class XercesParser


  • public class XercesParser
    extends java.lang.Object
    Create a SAXParser based on the underlying Xerces version. Currently, Xerces 2.3 and up doesn't implement schema validation the same way 2.1 was. In other to support schema validation in a portable way between parser, some features/properties need to be set.
    Since:
    1.6
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static java.lang.String JAXP_SCHEMA_LANGUAGE
      The JAXP 1.2 property to set up the schemaLanguage used.
      private static java.lang.String JAXP_SCHEMA_SOURCE
      The JAXP 1.2 property required to set up the schema location.
      protected static org.apache.commons.logging.Log log
      The Log to which all SAX event related logging calls will be made.
      protected static float version
      A float representing the underlying Xerces version
      protected static java.lang.String versionNumber
      The current Xerces version.
      protected static java.lang.String XERCES_DYNAMIC
      Xerces dynamic validation property
      protected static java.lang.String XERCES_SCHEMA
      Xerces schema validation property
    • Constructor Summary

      Constructors 
      Constructor Description
      XercesParser()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static void configureOldXerces​(javax.xml.parsers.SAXParser parser, java.util.Properties properties)
      Configure schema validation as recommended by the JAXP 1.2 spec.
      private static void configureXerces​(javax.xml.parsers.SAXParserFactory factory)
      Configure schema validation as recommended by the Xerces spec.
      private static java.lang.String getXercesVersion()
      Return the current Xerces version.
      static javax.xml.parsers.SAXParser newSAXParser​(java.util.Properties properties)
      Create a SAXParser based on the underlying Xerces version.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • log

        protected static org.apache.commons.logging.Log log
        The Log to which all SAX event related logging calls will be made.
      • JAXP_SCHEMA_SOURCE

        private static final java.lang.String JAXP_SCHEMA_SOURCE
        The JAXP 1.2 property required to set up the schema location.
        See Also:
        Constant Field Values
      • JAXP_SCHEMA_LANGUAGE

        protected static java.lang.String JAXP_SCHEMA_LANGUAGE
        The JAXP 1.2 property to set up the schemaLanguage used.
      • XERCES_DYNAMIC

        protected static java.lang.String XERCES_DYNAMIC
        Xerces dynamic validation property
      • XERCES_SCHEMA

        protected static java.lang.String XERCES_SCHEMA
        Xerces schema validation property
      • version

        protected static float version
        A float representing the underlying Xerces version
      • versionNumber

        protected static java.lang.String versionNumber
        The current Xerces version.
    • Constructor Detail

      • XercesParser

        public XercesParser()
    • Method Detail

      • getXercesVersion

        private static java.lang.String getXercesVersion()
        Return the current Xerces version.
        Returns:
        the current Xerces version.
      • newSAXParser

        public static javax.xml.parsers.SAXParser newSAXParser​(java.util.Properties properties)
                                                        throws javax.xml.parsers.ParserConfigurationException,
                                                               org.xml.sax.SAXException,
                                                               org.xml.sax.SAXNotSupportedException
        Create a SAXParser based on the underlying Xerces version.
        Parameters:
        properties - parser specific properties/features
        Returns:
        an XML Schema/DTD enabled SAXParser
        Throws:
        javax.xml.parsers.ParserConfigurationException
        org.xml.sax.SAXException
        org.xml.sax.SAXNotSupportedException
      • configureOldXerces

        private static void configureOldXerces​(javax.xml.parsers.SAXParser parser,
                                               java.util.Properties properties)
                                        throws javax.xml.parsers.ParserConfigurationException,
                                               org.xml.sax.SAXNotSupportedException
        Configure schema validation as recommended by the JAXP 1.2 spec. The properties object may contains information about the schema local and language.
        Parameters:
        properties - parser optional info
        Throws:
        javax.xml.parsers.ParserConfigurationException
        org.xml.sax.SAXNotSupportedException
      • configureXerces

        private static void configureXerces​(javax.xml.parsers.SAXParserFactory factory)
                                     throws javax.xml.parsers.ParserConfigurationException,
                                            org.xml.sax.SAXNotRecognizedException,
                                            org.xml.sax.SAXNotSupportedException
        Configure schema validation as recommended by the Xerces spec. Both DTD and Schema validation will be enabled simultaneously.
        Parameters:
        factory - SAXParserFactory to be configured
        Throws:
        javax.xml.parsers.ParserConfigurationException
        org.xml.sax.SAXNotRecognizedException
        org.xml.sax.SAXNotSupportedException