Class XML11DTDConfiguration

java.lang.Object
org.apache.xerces.util.ParserConfigurationSettings
org.apache.xerces.parsers.XML11DTDConfiguration
All Implemented Interfaces:
XML11Configurable, org.apache.xerces.xni.parser.XMLComponentManager, org.apache.xerces.xni.parser.XMLParserConfiguration, org.apache.xerces.xni.parser.XMLPullParserConfiguration

public class XML11DTDConfiguration extends ParserConfigurationSettings implements org.apache.xerces.xni.parser.XMLPullParserConfiguration, XML11Configurable
This class is the DTD-only parser configuration used to parse XML 1.0 and XML 1.1 documents.

This class recognizes the following features and properties:

  • Features
    • http://xml.org/sax/features/validation
    • http://xml.org/sax/features/namespaces
    • http://xml.org/sax/features/external-general-entities
    • http://xml.org/sax/features/external-parameter-entities
    • http://apache.org/xml/features/continue-after-fatal-error
    • http://apache.org/xml/features/load-external-dtd
  • Properties
    • http://xml.org/sax/properties/xml-string
    • http://apache.org/xml/properties/internal/symbol-table
    • http://apache.org/xml/properties/internal/error-handler
    • http://apache.org/xml/properties/internal/entity-resolver
    • 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: XML11DTDConfiguration.java 447239 2006-09-18 05:08:26Z mrglavas $
Author:
Elena Litani, IBM, Neil Graham, IBM, Michael Glavassevich, IBM, John Kim, IBM
  • Field Details

    • XML11_DATATYPE_VALIDATOR_FACTORY

      protected static final String XML11_DATATYPE_VALIDATOR_FACTORY
      See Also:
    • VALIDATION

      protected static final String VALIDATION
      Feature identifier: validation.
      See Also:
    • NAMESPACES

      protected static final String NAMESPACES
      Feature identifier: namespaces.
      See Also:
    • EXTERNAL_GENERAL_ENTITIES

      protected static final String EXTERNAL_GENERAL_ENTITIES
      Feature identifier: external general entities.
      See Also:
    • EXTERNAL_PARAMETER_ENTITIES

      protected static final String EXTERNAL_PARAMETER_ENTITIES
      Feature identifier: external parameter entities.
      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:
    • XML_STRING

      protected static final String XML_STRING
      Property identifier: xml string.
      See Also:
    • SYMBOL_TABLE

      protected static final String SYMBOL_TABLE
      Property identifier: symbol table.
      See Also:
    • ERROR_HANDLER

      protected static final String ERROR_HANDLER
      Property identifier: error handler.
      See Also:
    • ENTITY_RESOLVER

      protected static final String ENTITY_RESOLVER
      Property identifier: entity resolver.
      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:
    • fSymbolTable

      protected SymbolTable fSymbolTable
    • fInputSource

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

      protected ValidationManager fValidationManager
    • fVersionDetector

      protected XMLVersionDetector fVersionDetector
    • fLocator

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

      protected Locale fLocale
    • fComponents

      protected ArrayList fComponents
      XML 1.0 Components.
    • fXML11Components

      protected ArrayList fXML11Components
      XML 1.1. Components.
    • fCommonComponents

      protected 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. validation and 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
    • fDTDValidator

      protected XMLDTDValidator fDTDValidator
      The XML 1.0 DTD Validator: binds namespaces
    • fNonNSDTDValidator

      protected XMLDTDValidator fNonNSDTDValidator
      The XML 1.0 DTD Validator that does not bind namespaces
    • fDTDScanner

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

      protected XMLDTDProcessor fDTDProcessor
      The XML 1.0 DTD Processor .
    • 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.
    • fXML11NSDTDValidator

      protected XML11NSDTDValidator fXML11NSDTDValidator
      The XML 1.1 DTD validator that does namespace binding.
    • fXML11DTDValidator

      protected XML11DTDValidator fXML11DTDValidator
      The XML 1.1 DTD validator that does not do namespace binding.
    • fXML11DTDScanner

      protected XML11DTDScannerImpl fXML11DTDScanner
      The XML 1.1 DTD scanner.
    • fXML11DTDProcessor

      protected XML11DTDProcessor fXML11DTDProcessor
      The XML 1.1 DTD processor.
    • fGrammarPool

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

      protected XMLErrorReporter fErrorReporter
      Error reporter.
    • fEntityManager

      protected XMLEntityManager fEntityManager
      Entity manager.
    • 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 Details

    • XML11DTDConfiguration

      public XML11DTDConfiguration()
      Default constructor.
    • XML11DTDConfiguration

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

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

      public XML11DTDConfiguration(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

    • 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:
    • 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
      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:
    • 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:
      NullPointerException - If the handler argument is null.
      See Also:
    • 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:
    • 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
      Parameters:
      source - The input source.
      Throws:
      org.apache.xerces.xni.XNIException - Throws exception on XNI error.
      IOException - Throws exception on i/o error.
    • parse

      public boolean parse(boolean complete) throws org.apache.xerces.xni.XNIException, 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.
      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(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(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(String propertyId, 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 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(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(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