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 Details

    • WARN_ON_DUPLICATE_ATTDEF

      protected static final String WARN_ON_DUPLICATE_ATTDEF
      Feature identifier: warn on duplicate attribute definition.
      See Also:
    • WARN_ON_DUPLICATE_ENTITYDEF

      protected static final String WARN_ON_DUPLICATE_ENTITYDEF
      Feature identifier: warn on duplicate entity definition.
      See Also:
    • WARN_ON_UNDECLARED_ELEMDEF

      protected static final String WARN_ON_UNDECLARED_ELEMDEF
      Feature identifier: warn on undeclared element definition.
      See Also:
    • ALLOW_JAVA_ENCODINGS

      protected static final String ALLOW_JAVA_ENCODINGS
      Feature identifier: allow Java encodings.
      See Also:
    • CONTINUE_AFTER_FATAL_ERROR

      protected static final String CONTINUE_AFTER_FATAL_ERROR
      Feature identifier: continue after fatal error.
      See Also:
    • LOAD_EXTERNAL_DTD

      protected static final String LOAD_EXTERNAL_DTD
      Feature identifier: load external DTD.
      See Also:
    • NOTIFY_BUILTIN_REFS

      protected static final String NOTIFY_BUILTIN_REFS
      Feature identifier: notify built-in refereces.
      See Also:
    • NOTIFY_CHAR_REFS

      protected static final String NOTIFY_CHAR_REFS
      Feature identifier: notify character refereces.
      See Also:
    • ERROR_REPORTER

      protected static final String ERROR_REPORTER
      Property identifier: error reporter.
      See Also:
    • ENTITY_MANAGER

      protected static final String ENTITY_MANAGER
      Property identifier: entity manager.
      See Also:
    • DOCUMENT_SCANNER

      protected static final String DOCUMENT_SCANNER
      Property identifier document scanner:
      See Also:
    • DTD_SCANNER

      protected static final String DTD_SCANNER
      Property identifier: DTD scanner.
      See Also:
    • XMLGRAMMAR_POOL

      protected static final String XMLGRAMMAR_POOL
      Property identifier: grammar pool.
      See Also:
    • DTD_PROCESSOR

      protected static final String DTD_PROCESSOR
      Property identifier: DTD loader.
      See Also:
    • DTD_VALIDATOR

      protected static final String DTD_VALIDATOR
      Property identifier: DTD validator.
      See Also:
    • NAMESPACE_BINDER

      protected static final String NAMESPACE_BINDER
      Property identifier: namespace binder.
      See Also:
    • DATATYPE_VALIDATOR_FACTORY

      protected static final String DATATYPE_VALIDATOR_FACTORY
      Property identifier: datatype validator factory.
      See Also:
    • VALIDATION_MANAGER

      protected static final String VALIDATION_MANAGER
      See Also:
    • JAXP_SCHEMA_LANGUAGE

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

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

      protected static final String LOCALE
      Property identifier: locale.
      See Also:
    • 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 Details

    • 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 Details

    • getProperty

      public Object getProperty(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(String propertyId, 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 -
      value -
      Throws:
      org.apache.xerces.xni.parser.XMLConfigurationException - If the requested feature is not known.
    • setLocale

      public void setLocale(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, 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.
      IOException - Thrown on I/O error.
      See Also:
    • parse

      public boolean parse(boolean complete) throws org.apache.xerces.xni.XNIException, 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.
      IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the parser.
      See Also:
    • 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, 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.
      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(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(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()