org.apache.xerces.parsers

## Class DTDConfiguration

- java.lang.Object
- - org.apache.xerces.util.ParserConfigurationSettings
  - - org.apache.xerces.parsers.BasicParserConfiguration
    - - org.apache.xerces.parsers.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 Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `ALLOW_JAVA_ENCODINGS` Feature identifier: allow Java encodings.
    `protected static java.lang.String` | `CONTINUE_AFTER_FATAL_ERROR` Feature identifier: continue after fatal error.
    `protected static java.lang.String` | `DATATYPE_VALIDATOR_FACTORY` Property identifier: datatype validator factory.
    `protected static java.lang.String` | `DOCUMENT_SCANNER` Property identifier document scanner:
    `protected static java.lang.String` | `DTD_PROCESSOR` Property identifier: DTD loader.
    `protected static java.lang.String` | `DTD_SCANNER` Property identifier: DTD scanner.
    `protected static java.lang.String` | `DTD_VALIDATOR` Property identifier: DTD validator.
    `protected static java.lang.String` | `ENTITY_MANAGER` Property identifier: entity manager.
    `protected static java.lang.String` | `ERROR_REPORTER` Property identifier: error reporter.
    `protected DTDDVFactory` | `fDatatypeValidatorFactory` Datatype validator factory.
    `protected XMLDTDProcessor` | `fDTDProcessor` DTD Processor .
    `protected org.apache.xerces.xni.parser.XMLDTDScanner` | `fDTDScanner` DTD scanner.
    `protected XMLDTDValidator` | `fDTDValidator` DTD Validator.
    `protected XMLEntityManager` | `fEntityManager` Entity manager.
    `protected XMLErrorReporter` | `fErrorReporter` Error reporter.
    `protected org.apache.xerces.xni.grammars.XMLGrammarPool` | `fGrammarPool` Grammar pool.
    `protected org.apache.xerces.xni.parser.XMLInputSource` | `fInputSource` Input Source
    `protected org.apache.xerces.xni.XMLLocator` | `fLocator` Locator
    `protected XMLNamespaceBinder` | `fNamespaceBinder` Namespace binder.
    `protected boolean` | `fParseInProgress` True if a parse is in progress.
    `protected org.apache.xerces.xni.parser.XMLDocumentScanner` | `fScanner` Document scanner.
    `protected ValidationManager` | `fValidationManager`
    `protected static java.lang.String` | `JAXP_SCHEMA_LANGUAGE` Property identifier: JAXP schema language / DOM schema-type.
    `protected static java.lang.String` | `JAXP_SCHEMA_SOURCE` Property identifier: JAXP schema source/ DOM schema-location.
    `protected static java.lang.String` | `LOAD_EXTERNAL_DTD` Feature identifier: load external DTD.
    `protected static java.lang.String` | `LOCALE` Property identifier: locale.
    `protected static java.lang.String` | `NAMESPACE_BINDER` Property identifier: namespace binder.
    `protected static java.lang.String` | `NOTIFY_BUILTIN_REFS` Feature identifier: notify built-in refereces.
    `protected static java.lang.String` | `NOTIFY_CHAR_REFS` Feature identifier: notify character refereces.
    `protected static boolean` | `PRINT_EXCEPTION_STACK_TRACE` Set to true and recompile to print exception stack trace.
    `protected static java.lang.String` | `VALIDATION_MANAGER`
    `protected static java.lang.String` | `WARN_ON_DUPLICATE_ATTDEF` Feature identifier: warn on duplicate attribute definition.
    `protected static java.lang.String` | `WARN_ON_DUPLICATE_ENTITYDEF` Feature identifier: warn on duplicate entity definition.
    `protected static java.lang.String` | `WARN_ON_UNDECLARED_ELEMDEF` Feature identifier: warn on undeclared element definition.
    `protected static java.lang.String` | `XMLGRAMMAR_POOL` Property identifier: grammar pool.

    - ### Fields inherited from class org.apache.xerces.parsers.BasicParserConfiguration

      `ENTITY_RESOLVER, ERROR_HANDLER, EXTERNAL_GENERAL_ENTITIES, EXTERNAL_PARAMETER_ENTITIES, fComponents, fDocumentHandler, fDTDContentModelHandler, fDTDHandler, fLastComponent, fLocale, fSymbolTable, NAMESPACES, SYMBOL_TABLE, VALIDATION, XML_STRING`

    - ### Fields inherited from class org.apache.xerces.util.ParserConfigurationSettings

      `fFeatures, fParentSettings, fProperties, fRecognizedFeatures, fRecognizedProperties, PARSER_SETTINGS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DTDConfiguration()` Default constructor.
    `DTDConfiguration(SymbolTable symbolTable)` Constructs a parser configuration using the specified symbol table.
    `DTDConfiguration(SymbolTable symbolTable, org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)` Constructs a parser configuration using the specified symbol table and grammar pool.
    `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.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `checkFeature(java.lang.String featureId)` Check a feature.
    `protected void` | `checkProperty(java.lang.String propertyId)` Check a property.
    `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.
    `protected void` | `configureDTDPipeline()`
    `protected void` | `configurePipeline()` Configures the pipeline.
    `protected DTDDVFactory` | `createDatatypeValidatorFactory()` Create a datatype validator factory.
    `protected org.apache.xerces.xni.parser.XMLDocumentScanner` | `createDocumentScanner()` Create a document scanner.
    `protected XMLDTDProcessor` | `createDTDProcessor()` Create a DTD loader .
    `protected org.apache.xerces.xni.parser.XMLDTDScanner` | `createDTDScanner()` Create a DTD scanner.
    `protected XMLDTDValidator` | `createDTDValidator()` Create a DTD validator.
    `protected XMLEntityManager` | `createEntityManager()` Creates an entity manager.
    `protected XMLErrorReporter` | `createErrorReporter()` Creates an error reporter.
    `protected XMLNamespaceBinder` | `createNamespaceBinder()` Create a namespace binder.
    `protected ValidationManager` | `createValidationManager()`
    `java.lang.Object` | `getProperty(java.lang.String propertyId)` Returns the value of a property.
    `boolean` | `parse(boolean complete)` Parses the document in a pull parsing fashion.
    `void` | `parse(org.apache.xerces.xni.parser.XMLInputSource source)` Parses the specified input source.
    `protected void` | `reset()` Reset all components before parsing.
    `void` | `setInputSource(org.apache.xerces.xni.parser.XMLInputSource inputSource)` Sets the input source for the document to parse.
    `void` | `setLocale(java.util.Locale locale)` Set the locale to use for messages.
    `void` | `setProperty(java.lang.String propertyId, java.lang.Object value)` setProperty

    - ### Methods inherited from class org.apache.xerces.parsers.BasicParserConfiguration

      `addComponent, getDocumentHandler, getDTDContentModelHandler, getDTDHandler, getEntityResolver, getErrorHandler, getLocale, setDocumentHandler, setDTDContentModelHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature`

    - ### Methods inherited from class org.apache.xerces.util.ParserConfigurationSettings

      `addRecognizedFeatures, addRecognizedProperties, getFeature`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.xerces.xni.parser.XMLParserConfiguration

      `addRecognizedFeatures, addRecognizedProperties, getDocumentHandler, getDTDContentModelHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getLocale, setDocumentHandler, setDTDContentModelHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature`

- - ### 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.

    - #### fErrorReporter

          protected XMLErrorReporter fErrorReporter

      Error reporter.

    - #### fEntityManager

          protected XMLEntityManager fEntityManager

      Entity manager.

    - #### 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.

    - #### fDTDProcessor

          protected XMLDTDProcessor fDTDProcessor

      DTD Processor .

    - #### fDTDValidator

          protected XMLDTDValidator fDTDValidator

      DTD Validator.

    - #### fNamespaceBinder

          protected XMLNamespaceBinder fNamespaceBinder

      Namespace binder.

    - #### fValidationManager

          protected ValidationManager fValidationManager

    - #### 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` - Thrown if there is a configuration error.

    - #### 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.

    - #### createValidationManager

          protected ValidationManager createValidationManager()

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.