Class DTDConfiguration

  • All Implemented Interfaces:
    org.apache.xerces.xni.parser.XMLComponentManager, org.apache.xerces.xni.parser.XMLParserConfiguration, org.apache.xerces.xni.parser.XMLPullParserConfiguration
    Direct Known Subclasses:
    StandardParserConfiguration

    public class DTDConfiguration
    extends BasicParserConfiguration
    implements org.apache.xerces.xni.parser.XMLPullParserConfiguration
    This is the DTD-only parser configuration. It extends the basic configuration with a standard set of parser components appropriate to DTD-centric validation. Since the Xerces2 reference implementation document and DTD scanner implementations are capable of acting as pull parsers, this configuration implements the XMLPullParserConfiguration interface.

    In addition to the features and properties recognized by the base parser configuration, this class recognizes these additional features and properties:

    • Features
      • http://apache.org/xml/features/validation/warn-on-duplicate-attdef
      • http://apache.org/xml/features/validation/warn-on-undeclared-elemdef
      • http://apache.org/xml/features/allow-java-encodings
      • http://apache.org/xml/features/continue-after-fatal-error
      • http://apache.org/xml/features/load-external-dtd
    • Properties
      • http://apache.org/xml/properties/internal/error-reporter
      • http://apache.org/xml/properties/internal/entity-manager
      • http://apache.org/xml/properties/internal/document-scanner
      • http://apache.org/xml/properties/internal/dtd-scanner
      • http://apache.org/xml/properties/internal/grammar-pool
      • http://apache.org/xml/properties/internal/validator/dtd
      • http://apache.org/xml/properties/internal/datatype-validator-factory
    Version:
    $Id: DTDConfiguration.java 713638 2008-11-13 04:42:18Z mrglavas $
    Author:
    Arnaud Le Hors, IBM, Andy Clark, IBM, Neil Graham, IBM
    • Field Detail

      • WARN_ON_DUPLICATE_ATTDEF

        protected static final java.lang.String WARN_ON_DUPLICATE_ATTDEF
        Feature identifier: warn on duplicate attribute definition.
        See Also:
        Constant Field Values
      • WARN_ON_DUPLICATE_ENTITYDEF

        protected static final java.lang.String WARN_ON_DUPLICATE_ENTITYDEF
        Feature identifier: warn on duplicate entity definition.
        See Also:
        Constant Field Values
      • WARN_ON_UNDECLARED_ELEMDEF

        protected static final java.lang.String WARN_ON_UNDECLARED_ELEMDEF
        Feature identifier: warn on undeclared element definition.
        See Also:
        Constant Field Values
      • ALLOW_JAVA_ENCODINGS

        protected static final java.lang.String ALLOW_JAVA_ENCODINGS
        Feature identifier: allow Java encodings.
        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
      • LOAD_EXTERNAL_DTD

        protected static final java.lang.String LOAD_EXTERNAL_DTD
        Feature identifier: load external DTD.
        See Also:
        Constant Field Values
      • NOTIFY_BUILTIN_REFS

        protected static final java.lang.String NOTIFY_BUILTIN_REFS
        Feature identifier: notify built-in refereces.
        See Also:
        Constant Field Values
      • NOTIFY_CHAR_REFS

        protected static final java.lang.String NOTIFY_CHAR_REFS
        Feature identifier: notify character refereces.
        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_PROCESSOR

        protected static final java.lang.String DTD_PROCESSOR
        Property identifier: DTD loader.
        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
      • JAXP_SCHEMA_LANGUAGE

        protected static final java.lang.String JAXP_SCHEMA_LANGUAGE
        Property identifier: JAXP schema language / DOM schema-type.
        See Also:
        Constant Field Values
      • JAXP_SCHEMA_SOURCE

        protected static final java.lang.String JAXP_SCHEMA_SOURCE
        Property identifier: JAXP schema source/ DOM schema-location.
        See Also:
        Constant Field Values
      • LOCALE

        protected static final java.lang.String LOCALE
        Property identifier: locale.
        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
      • fGrammarPool

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

        protected DTDDVFactory fDatatypeValidatorFactory
        Datatype validator factory.
      • fScanner

        protected org.apache.xerces.xni.parser.XMLDocumentScanner fScanner
        Document scanner.
      • fInputSource

        protected org.apache.xerces.xni.parser.XMLInputSource fInputSource
        Input Source
      • fDTDScanner

        protected org.apache.xerces.xni.parser.XMLDTDScanner fDTDScanner
        DTD scanner.
      • fLocator

        protected org.apache.xerces.xni.XMLLocator fLocator
        Locator
      • 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. validation and namespaces).
    • Constructor Detail

      • DTDConfiguration

        public DTDConfiguration()
        Default constructor.
      • DTDConfiguration

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

        public DTDConfiguration​(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.
      • DTDConfiguration

        public DTDConfiguration​(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

      • getProperty

        public java.lang.Object getProperty​(java.lang.String propertyId)
                                     throws org.apache.xerces.xni.parser.XMLConfigurationException
        Description copied from class: ParserConfigurationSettings
        Returns the value of a property.
        Specified by:
        getProperty in interface org.apache.xerces.xni.parser.XMLComponentManager
        Specified by:
        getProperty in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Overrides:
        getProperty in class ParserConfigurationSettings
        Parameters:
        propertyId - The property identifier.
        Returns:
        the value of the property
        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.
      • setProperty

        public void setProperty​(java.lang.String propertyId,
                                java.lang.Object value)
                         throws org.apache.xerces.xni.parser.XMLConfigurationException
        Description copied from class: BasicParserConfiguration
        setProperty
        Specified by:
        setProperty in interface org.apache.xerces.xni.parser.XMLParserConfiguration
        Overrides:
        setProperty in class BasicParserConfiguration
        Parameters:
        propertyId - The property identifier.
        value - The value of the property.
        Throws:
        org.apache.xerces.xni.parser.XMLConfigurationException - If the requested feature is not known.
      • 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
        Overrides:
        setLocale in class BasicParserConfiguration
        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.
      • 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)
      • parse

        public boolean parse​(boolean complete)
                      throws org.apache.xerces.xni.XNIException,
                             java.io.IOException
        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:
        setInputSource(org.apache.xerces.xni.parser.XMLInputSource)
      • 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
        Specified by:
        parse in class BasicParserConfiguration
        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.
      • reset

        protected void reset()
                      throws org.apache.xerces.xni.XNIException
        Reset all components before parsing.
        Overrides:
        reset in class BasicParserConfiguration
        Throws:
        org.apache.xerces.xni.XNIException - Thrown if an error occurs during initialization.
      • configurePipeline

        protected void configurePipeline()
        Configures the pipeline.
      • configureDTDPipeline

        protected void configureDTDPipeline()
      • 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 BasicParserConfiguration
        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 BasicParserConfiguration
        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.
      • createEntityManager

        protected XMLEntityManager createEntityManager()
        Creates an entity manager.
      • createErrorReporter

        protected XMLErrorReporter createErrorReporter()
        Creates an error reporter.
      • createDocumentScanner

        protected org.apache.xerces.xni.parser.XMLDocumentScanner createDocumentScanner()
        Create a document scanner.
      • createDTDScanner

        protected org.apache.xerces.xni.parser.XMLDTDScanner createDTDScanner()
        Create a DTD scanner.
      • createDTDProcessor

        protected XMLDTDProcessor createDTDProcessor()
        Create a DTD loader .
      • createDTDValidator

        protected XMLDTDValidator createDTDValidator()
        Create a DTD validator.
      • createNamespaceBinder

        protected XMLNamespaceBinder createNamespaceBinder()
        Create a namespace binder.
      • createDatatypeValidatorFactory

        protected DTDDVFactory createDatatypeValidatorFactory()
        Create a datatype validator factory.