Class XML11NonValidatingConfiguration

  • All Implemented Interfaces:
    XML11Configurable, org.apache.xerces.xni.parser.XMLComponentManager, org.apache.xerces.xni.parser.XMLParserConfiguration, org.apache.xerces.xni.parser.XMLPullParserConfiguration

    public class XML11NonValidatingConfiguration
    extends ParserConfigurationSettings
    implements org.apache.xerces.xni.parser.XMLPullParserConfiguration, XML11Configurable
    This class is the non validating parser configuration used to parse XML 1.0 and XML 1.1 documents. Xerces parser that uses this configuration is not conformant non-validating XML processor, since conformant non-validating processor is required to process "all the declarations they read in the internal DTD subset ... must use the information in those declarations to normalize attribute values, include the replacement text of internal entities, and supply default attribute values".
    Version:
    $Id: XML11NonValidatingConfiguration.java 1375061 2012-08-20 15:30:31Z mrglavas $
    Author:
    Elena Litani, IBM, John Kim, IBM, Michael Glavassevich, IBM
    • Field Detail

      • XML11_DATATYPE_VALIDATOR_FACTORY

        protected static final java.lang.String XML11_DATATYPE_VALIDATOR_FACTORY
        See Also:
        Constant Field Values
      • VALIDATION

        protected static final java.lang.String VALIDATION
        Feature identifier: validation.
        See Also:
        Constant Field Values
      • NAMESPACES

        protected static final java.lang.String NAMESPACES
        Feature identifier: namespaces.
        See Also:
        Constant Field Values
      • EXTERNAL_GENERAL_ENTITIES

        protected static final java.lang.String EXTERNAL_GENERAL_ENTITIES
        Feature identifier: external general entities.
        See Also:
        Constant Field Values
      • EXTERNAL_PARAMETER_ENTITIES

        protected static final java.lang.String EXTERNAL_PARAMETER_ENTITIES
        Feature identifier: external parameter entities.
        See Also:
        Constant Field Values
      • CONTINUE_AFTER_FATAL_ERROR

        protected static final java.lang.String CONTINUE_AFTER_FATAL_ERROR
        Feature identifier: continue after fatal error.
        See Also:
        Constant Field Values
      • XML_STRING

        protected static final java.lang.String XML_STRING
        Property identifier: xml string.
        See Also:
        Constant Field Values
      • SYMBOL_TABLE

        protected static final java.lang.String SYMBOL_TABLE
        Property identifier: symbol table.
        See Also:
        Constant Field Values
      • ERROR_HANDLER

        protected static final java.lang.String ERROR_HANDLER
        Property identifier: error handler.
        See Also:
        Constant Field Values
      • ENTITY_RESOLVER

        protected static final java.lang.String ENTITY_RESOLVER
        Property identifier: entity resolver.
        See Also:
        Constant Field Values
      • ERROR_REPORTER

        protected static final java.lang.String ERROR_REPORTER
        Property identifier: error reporter.
        See Also:
        Constant Field Values
      • ENTITY_MANAGER

        protected static final java.lang.String ENTITY_MANAGER
        Property identifier: entity manager.
        See Also:
        Constant Field Values
      • DOCUMENT_SCANNER

        protected static final java.lang.String DOCUMENT_SCANNER
        Property identifier document scanner:
        See Also:
        Constant Field Values
      • DTD_SCANNER

        protected static final java.lang.String DTD_SCANNER
        Property identifier: DTD scanner.
        See Also:
        Constant Field Values
      • XMLGRAMMAR_POOL

        protected static final java.lang.String XMLGRAMMAR_POOL
        Property identifier: grammar pool.
        See Also:
        Constant Field Values
      • DTD_VALIDATOR

        protected static final java.lang.String DTD_VALIDATOR
        Property identifier: DTD validator.
        See Also:
        Constant Field Values
      • NAMESPACE_BINDER

        protected static final java.lang.String NAMESPACE_BINDER
        Property identifier: namespace binder.
        See Also:
        Constant Field Values
      • DATATYPE_VALIDATOR_FACTORY

        protected static final java.lang.String DATATYPE_VALIDATOR_FACTORY
        Property identifier: datatype validator factory.
        See Also:
        Constant Field Values
      • VALIDATION_MANAGER

        protected static final java.lang.String VALIDATION_MANAGER
        See Also:
        Constant Field Values
      • PRINT_EXCEPTION_STACK_TRACE

        protected static final boolean PRINT_EXCEPTION_STACK_TRACE
        Set to true and recompile to print exception stack trace.
        See Also:
        Constant Field Values
      • fInputSource

        protected org.apache.xerces.xni.parser.XMLInputSource fInputSource
      • fLocator

        protected org.apache.xerces.xni.XMLLocator fLocator
      • fLocale

        protected java.util.Locale fLocale
      • fComponents

        protected java.util.ArrayList fComponents
        XML 1.0 Components.
      • fXML11Components

        protected java.util.ArrayList fXML11Components
        XML 1.1. Components.
      • fCommonComponents

        protected java.util.ArrayList fCommonComponents
        Common components: XMLEntityManager, XMLErrorReporter
      • fDocumentHandler

        protected org.apache.xerces.xni.XMLDocumentHandler fDocumentHandler
        The document handler.
      • fDTDHandler

        protected org.apache.xerces.xni.XMLDTDHandler fDTDHandler
        The DTD handler.
      • fDTDContentModelHandler

        protected org.apache.xerces.xni.XMLDTDContentModelHandler fDTDContentModelHandler
        The DTD content model handler.
      • fLastComponent

        protected org.apache.xerces.xni.parser.XMLDocumentSource fLastComponent
        Last component in the document pipeline
      • fParseInProgress

        protected boolean fParseInProgress
        True if a parse is in progress. This state is needed because some features/properties cannot be set while parsing (e.g. namespaces).
      • fConfigUpdated

        protected boolean fConfigUpdated
        fConfigUpdated is set to true if there has been any change to the configuration settings, i.e a feature or a property was changed.
      • fDatatypeValidatorFactory

        protected DTDDVFactory fDatatypeValidatorFactory
        The XML 1.0 Datatype validator factory.
      • fNamespaceScanner

        protected XMLNSDocumentScannerImpl fNamespaceScanner
        The XML 1.0 Document scanner that does namespace binding.
      • fNonNSScanner

        protected XMLDocumentScannerImpl fNonNSScanner
        The XML 1.0 Non-namespace implementation of scanner
      • fDTDScanner

        protected org.apache.xerces.xni.parser.XMLDTDScanner fDTDScanner
        The XML 1.0 DTD scanner.
      • fXML11DatatypeFactory

        protected DTDDVFactory fXML11DatatypeFactory
        The XML 1.1 datatype factory.
      • fXML11NSDocScanner

        protected XML11NSDocumentScannerImpl fXML11NSDocScanner
        The XML 1.1 document scanner that does namespace binding.
      • fXML11DocScanner

        protected XML11DocumentScannerImpl fXML11DocScanner
        The XML 1.1 document scanner that does not do namespace binding.
      • fGrammarPool

        protected org.apache.xerces.xni.grammars.XMLGrammarPool fGrammarPool
        Grammar pool.
      • fCurrentScanner

        protected org.apache.xerces.xni.parser.XMLDocumentScanner fCurrentScanner
        Current scanner
      • fCurrentDVFactory

        protected DTDDVFactory fCurrentDVFactory
        Current Datatype validator factory.
      • fCurrentDTDScanner

        protected org.apache.xerces.xni.parser.XMLDTDScanner fCurrentDTDScanner
        Current DTD scanner.
    • Constructor Detail

      • XML11NonValidatingConfiguration

        public XML11NonValidatingConfiguration()
        Default constructor.
      • XML11NonValidatingConfiguration

        public XML11NonValidatingConfiguration​(SymbolTable symbolTable)
        Constructs a parser configuration using the specified symbol table.
        Parameters:
        symbolTable - The symbol table to use.
      • XML11NonValidatingConfiguration

        public XML11NonValidatingConfiguration​(SymbolTable symbolTable,
                                               org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)
        Constructs a parser configuration using the specified symbol table and grammar pool.

        REVISIT: Grammar pool will be updated when the new validation engine is implemented.

        Parameters:
        symbolTable - The symbol table to use.
        grammarPool - The grammar pool to use.
      • XML11NonValidatingConfiguration

        public XML11NonValidatingConfiguration​(SymbolTable symbolTable,
                                               org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool,
                                               org.apache.xerces.xni.parser.XMLComponentManager parentSettings)
        Constructs a parser configuration using the specified symbol table, grammar pool, and parent settings.

        REVISIT: Grammar pool will be updated when the new validation engine is implemented.

        Parameters:
        symbolTable - The symbol table to use.
        grammarPool - The grammar pool to use.
        parentSettings - The parent settings.
    • Method Detail

      • setInputSource

        public void setInputSource​(org.apache.xerces.xni.parser.XMLInputSource inputSource)
                            throws org.apache.xerces.xni.parser.XMLConfigurationException,
                                   java.io.IOException
        Sets the input source for the document to parse.
        Specified by:
        setInputSource in interface org.apache.xerces.xni.parser.XMLPullParserConfiguration
        Parameters:
        inputSource - The document's input source.
        Throws:
        org.apache.xerces.xni.parser.XMLConfigurationException - Thrown if there is a configuration error when initializing the parser.
        java.io.IOException - Thrown on I/O error.
        See Also:
        parse(boolean)
      • setLocale

        public void setLocale​(java.util.Locale locale)
                       throws org.apache.xerces.xni.XNIException
        Set the locale to use for messages.
        Specified by:
        setLocale in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Parameters:
        locale - The locale object to use for localization of messages.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown if the parser does not support the specified locale.
      • setDocumentHandler

        public void setDocumentHandler​(org.apache.xerces.xni.XMLDocumentHandler documentHandler)
        Sets the document handler on the last component in the pipeline to receive information about the document.
        Specified by:
        setDocumentHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Parameters:
        documentHandler - The document handler.
      • getDocumentHandler

        public org.apache.xerces.xni.XMLDocumentHandler getDocumentHandler()
        Returns the registered document handler.
        Specified by:
        getDocumentHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
      • setDTDHandler

        public void setDTDHandler​(org.apache.xerces.xni.XMLDTDHandler dtdHandler)
        Sets the DTD handler.
        Specified by:
        setDTDHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Parameters:
        dtdHandler - The DTD handler.
      • getDTDHandler

        public org.apache.xerces.xni.XMLDTDHandler getDTDHandler()
        Returns the registered DTD handler.
        Specified by:
        getDTDHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
      • setDTDContentModelHandler

        public void setDTDContentModelHandler​(org.apache.xerces.xni.XMLDTDContentModelHandler handler)
        Sets the DTD content model handler.
        Specified by:
        setDTDContentModelHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Parameters:
        handler - The DTD content model handler.
      • getDTDContentModelHandler

        public org.apache.xerces.xni.XMLDTDContentModelHandler getDTDContentModelHandler()
        Returns the registered DTD content model handler.
        Specified by:
        getDTDContentModelHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
      • setEntityResolver

        public void setEntityResolver​(org.apache.xerces.xni.parser.XMLEntityResolver resolver)
        Sets the resolver used to resolve external entities. The EntityResolver interface supports resolution of public and system identifiers.
        Specified by:
        setEntityResolver in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Parameters:
        resolver - The new entity resolver. Passing a null value will uninstall the currently installed resolver.
      • getEntityResolver

        public org.apache.xerces.xni.parser.XMLEntityResolver getEntityResolver()
        Return the current entity resolver.
        Specified by:
        getEntityResolver in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Returns:
        The current entity resolver, or null if none has been registered.
        See Also:
        setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver)
      • setErrorHandler

        public void setErrorHandler​(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler)
        Allow an application to register an error event handler.

        If the application does not register an error handler, all error events reported by the SAX parser will be silently ignored; however, normal processing may not continue. It is highly recommended that all SAX applications implement an error handler to avoid unexpected bugs.

        Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.

        Specified by:
        setErrorHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Parameters:
        errorHandler - The error handler.
        Throws:
        java.lang.NullPointerException - If the handler argument is null.
        See Also:
        getErrorHandler()
      • getErrorHandler

        public org.apache.xerces.xni.parser.XMLErrorHandler getErrorHandler()
        Return the current error handler.
        Specified by:
        getErrorHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Returns:
        The current error handler, or null if none has been registered.
        See Also:
        setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler)
      • cleanup

        public void cleanup()
        If the application decides to terminate parsing before the xml document is fully parsed, the application should call this method to free any resource allocated during parsing. For example, close all opened streams.
        Specified by:
        cleanup in interface org.apache.xerces.xni.parser.XMLPullParserConfiguration
      • parse

        public void parse​(org.apache.xerces.xni.parser.XMLInputSource source)
                   throws org.apache.xerces.xni.XNIException,
                          java.io.IOException
        Parses the specified input source.
        Specified by:
        parse in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Parameters:
        source - The input source.
        Throws:
        org.apache.xerces.xni.XNIException - Throws exception on XNI error.
        java.io.IOException - Throws exception on i/o error.
      • parse

        public boolean parse​(boolean complete)
                      throws org.apache.xerces.xni.XNIException,
                             java.io.IOException
        Description copied from interface: org.apache.xerces.xni.parser.XMLPullParserConfiguration
        Parses the document in a pull parsing fashion.
        Specified by:
        parse in interface org.apache.xerces.xni.parser.XMLPullParserConfiguration
        Parameters:
        complete - True if the pull parser should parse the remaining document completely.
        Returns:
        True if there is more document to parse.
        Throws:
        org.apache.xerces.xni.XNIException - Any XNI exception, possibly wrapping another exception.
        java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the parser.
        See Also:
        XMLPullParserConfiguration.setInputSource(org.apache.xerces.xni.parser.XMLInputSource)
      • getFeature

        public boolean getFeature​(java.lang.String featureId)
                           throws org.apache.xerces.xni.parser.XMLConfigurationException
        Returns the state of a feature.
        Specified by:
        getFeature in interface org.apache.xerces.xni.parser.XMLComponentManager
        Specified by:
        getFeature in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Overrides:
        getFeature in class ParserConfigurationSettings
        Parameters:
        featureId - The feature identifier.
        Returns:
        true if the feature is supported
        Throws:
        org.apache.xerces.xni.parser.XMLConfigurationException - Thrown for configuration error. In general, components should only throw this exception if it is really a critical error.
      • setFeature

        public void setFeature​(java.lang.String featureId,
                               boolean state)
                        throws org.apache.xerces.xni.parser.XMLConfigurationException
        Set the state of a feature. Set the state of any feature in a SAX2 parser. The parser might not recognize the feature, and if it does recognize it, it might not be able to fulfill the request.
        Specified by:
        setFeature in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Overrides:
        setFeature in class ParserConfigurationSettings
        Parameters:
        featureId - The unique identifier (URI) of the feature.
        state - The requested state of the feature (true or false).
        Throws:
        org.apache.xerces.xni.parser.XMLConfigurationException - If the requested feature is not known.
      • setProperty

        public void setProperty​(java.lang.String propertyId,
                                java.lang.Object value)
                         throws org.apache.xerces.xni.parser.XMLConfigurationException
        setProperty
        Specified by:
        setProperty in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Overrides:
        setProperty in class ParserConfigurationSettings
        Parameters:
        propertyId -
        value -
        Throws:
        org.apache.xerces.xni.parser.XMLConfigurationException - If the requested feature is not known.
      • getLocale

        public java.util.Locale getLocale()
        Returns the locale.
        Specified by:
        getLocale in interface org.apache.xerces.xni.parser.XMLParserConfiguration
      • reset

        protected void reset()
                      throws org.apache.xerces.xni.XNIException
        reset all XML 1.0 components before parsing and namespace context
        Throws:
        org.apache.xerces.xni.XNIException
      • resetCommon

        protected void resetCommon()
                            throws org.apache.xerces.xni.XNIException
        reset all common components before parsing
        Throws:
        org.apache.xerces.xni.XNIException
      • resetXML11

        protected void resetXML11()
                           throws org.apache.xerces.xni.XNIException
        reset all components before parsing and namespace context
        Throws:
        org.apache.xerces.xni.XNIException
      • configureXML11Pipeline

        protected void configureXML11Pipeline()
        Configures the XML 1.1 pipeline. Note: this method also resets the new XML11 components.
      • configurePipeline

        protected void configurePipeline()
        Configures the pipeline.
      • checkFeature

        protected void checkFeature​(java.lang.String featureId)
                             throws org.apache.xerces.xni.parser.XMLConfigurationException
        Check a feature. If feature is know and supported, this method simply returns. Otherwise, the appropriate exception is thrown.
        Overrides:
        checkFeature in class ParserConfigurationSettings
        Parameters:
        featureId - The unique identifier (URI) of the feature.
        Throws:
        org.apache.xerces.xni.parser.XMLConfigurationException - Thrown for configuration error. In general, components should only throw this exception if it is really a critical error.
      • checkProperty

        protected void checkProperty​(java.lang.String propertyId)
                              throws org.apache.xerces.xni.parser.XMLConfigurationException
        Check a property. If the property is know and supported, this method simply returns. Otherwise, the appropriate exception is thrown.
        Overrides:
        checkProperty in class ParserConfigurationSettings
        Parameters:
        propertyId - The unique identifier (URI) of the property being set.
        Throws:
        org.apache.xerces.xni.parser.XMLConfigurationException - Thrown for configuration error. In general, components should only throw this exception if it is really a critical error.
      • addComponent

        protected void addComponent​(org.apache.xerces.xni.parser.XMLComponent component)
        Adds a component to the parser configuration. This method will also add all of the component's recognized features and properties to the list of default recognized features and properties.
        Parameters:
        component - The component to add.
      • addCommonComponent

        protected void addCommonComponent​(org.apache.xerces.xni.parser.XMLComponent component)
        Adds common component to the parser configuration. This method will also add all of the component's recognized features and properties to the list of default recognized features and properties.
        Parameters:
        component - The component to add.
      • addXML11Component

        protected void addXML11Component​(org.apache.xerces.xni.parser.XMLComponent component)
        Adds an XML 1.1 component to the parser configuration. This method will also add all of the component's recognized features and properties to the list of default recognized features and properties.
        Parameters:
        component - The component to add.
      • addRecognizedParamsAndSetDefaults

        protected void addRecognizedParamsAndSetDefaults​(org.apache.xerces.xni.parser.XMLComponent component)
        Adds all of the component's recognized features and properties to the list of default recognized features and properties, and sets default values on the configuration for features and properties which were previously absent from the configuration.
        Parameters:
        component - The component whose recognized features and properties will be added to the configuration