org.apache.xerces.impl.dtd

## Class XMLDTDLoader

- java.lang.Object
- - org.apache.xerces.impl.dtd.XMLDTDProcessor
  - - org.apache.xerces.impl.dtd.XMLDTDLoader

- All Implemented Interfaces:
    org.apache.xerces.xni.grammars.XMLGrammarLoader, org.apache.xerces.xni.parser.XMLComponent, org.apache.xerces.xni.parser.XMLDTDContentModelFilter, org.apache.xerces.xni.parser.XMLDTDContentModelSource, org.apache.xerces.xni.parser.XMLDTDFilter, org.apache.xerces.xni.parser.XMLDTDSource, org.apache.xerces.xni.XMLDTDContentModelHandler, org.apache.xerces.xni.XMLDTDHandler
  Direct Known Subclasses:
    XML11DTDProcessor

      public class XMLDTDLoader
      extends XMLDTDProcessor
      implements org.apache.xerces.xni.grammars.XMLGrammarLoader

  The DTD loader. The loader knows how to build grammars from XMLInputSources. It extends the DTD processor in order to do this; it's a separate class because DTD processors don't need to know how to talk to the outside world in their role as instance-document helpers.

  This component requires the following features and properties. It know ho to set them if no one else does:from the

  - http://xml.org/sax/features/namespaces
  - http://apache.org/xml/properties/internal/symbol-table
  - http://apache.org/xml/properties/internal/error-reporter
  - http://apache.org/xml/properties/internal/grammar-pool
  - http://apache.org/xml/properties/internal/datatype-validator-factory
  Version:
    $Id: XMLDTDLoader.java 1375057 2012-08-20 15:26:19Z mrglavas $
  Author:
    Neil Graham, IBM, Michael Glavassevich, IBM

  # INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `BALANCE_SYNTAX_TREES` Feature identifier: balance syntax trees.
    `protected static java.lang.String` | `ENTITY_RESOLVER` Property identifier: entity resolver.
    `protected static java.lang.String` | `ERROR_HANDLER` Property identifier: error handler.
    `protected XMLDTDScannerImpl` | `fDTDScanner`
    `protected XMLEntityManager` | `fEntityManager`
    `protected org.apache.xerces.xni.parser.XMLEntityResolver` | `fEntityResolver` Entity resolver .
    `protected java.util.Locale` | `fLocale`
    `protected static java.lang.String` | `LOCALE` Property identifier: locale.
    `protected static java.lang.String` | `STANDARD_URI_CONFORMANT_FEATURE` Feature identifier: standard uri conformant feature.

    - ### Fields inherited from class org.apache.xerces.impl.dtd.XMLDTDProcessor

      `DTD_VALIDATOR, ERROR_REPORTER, fDTDContentModelHandler, fDTDContentModelSource, fDTDGrammar, fDTDHandler, fDTDSource, fDTDValidation, fErrorReporter, fGrammarBucket, fGrammarPool, fInDTDIgnore, fSymbolTable, fValidation, fValidator, fWarnDuplicateAttdef, fWarnOnUndeclaredElemdef, GRAMMAR_POOL, NOTIFY_CHAR_REFS, PARSER_SETTINGS, SYMBOL_TABLE, VALIDATION, WARN_ON_DUPLICATE_ATTDEF, WARN_ON_UNDECLARED_ELEMDEF`

    - ### Fields inherited from interface org.apache.xerces.xni.XMLDTDHandler

      `CONDITIONAL_IGNORE, CONDITIONAL_INCLUDE`

    - ### Fields inherited from interface org.apache.xerces.xni.XMLDTDContentModelHandler

      `OCCURS_ONE_OR_MORE, OCCURS_ZERO_OR_MORE, OCCURS_ZERO_OR_ONE, SEPARATOR_CHOICE, SEPARATOR_SEQUENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XMLDTDLoader()` Deny default construction; we need a SymtolTable!
    `XMLDTDLoader(SymbolTable symbolTable)`
    `XMLDTDLoader(SymbolTable symbolTable, org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected XMLDTDScannerImpl` | `createDTDScanner(SymbolTable symbolTable, XMLErrorReporter errorReporter, XMLEntityManager entityManager)`
    `org.apache.xerces.xni.parser.XMLEntityResolver` | `getEntityResolver()` Returns the registered entity resolver.
    `org.apache.xerces.xni.parser.XMLErrorHandler` | `getErrorHandler()` Returns the registered error handler.
    `boolean` | `getFeature(java.lang.String featureId)` Returns the state of a feature.
    `java.util.Locale` | `getLocale()` Return the Locale the XMLGrammarLoader is using.
    `java.lang.Object` | `getProperty(java.lang.String propertyId)` Returns the state of a property.
    `java.lang.String[]` | `getRecognizedFeatures()` Returns a list of feature identifiers that are recognized by this component.
    `java.lang.String[]` | `getRecognizedProperties()` Returns a list of property identifiers that are recognized by this component.
    `protected short` | `getScannerVersion()`
    `org.apache.xerces.xni.grammars.Grammar` | `loadGrammar(org.apache.xerces.xni.parser.XMLInputSource source)` Returns a Grammar object by parsing the contents of the entity pointed to by source.
    `void` | `loadGrammarWithContext(XMLDTDValidator validator, java.lang.String rootName, java.lang.String publicId, java.lang.String systemId, java.lang.String baseSystemId, java.lang.String internalSubset)` Parse a DTD internal and/or external subset and insert the content into the existing DTD grammar owned by the given DTDValidator.
    `protected void` | `reset()`
    `void` | `setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver entityResolver)` Sets the entity resolver.
    `void` | `setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler)` Sets the error handler.
    `void` | `setFeature(java.lang.String featureId, boolean state)` Sets the state of a feature.
    `void` | `setLocale(java.util.Locale locale)` Set the locale to use for messages.
    `void` | `setProperty(java.lang.String propertyId, java.lang.Object value)` Sets the value of a property.

    - ### Methods inherited from class org.apache.xerces.impl.dtd.XMLDTDProcessor

      `any, attributeDecl, checkStandaloneEntityRef, comment, element, elementDecl, empty, endAttlist, endConditional, endContentModel, endDTD, endExternalSubset, endGroup, endParameterEntity, externalEntityDecl, getDTDContentModelHandler, getDTDContentModelSource, getDTDHandler, getDTDSource, getFeatureDefault, getPropertyDefault, ignoredCharacters, internalEntityDecl, isValidName, isValidNmtoken, notationDecl, occurrence, pcdata, processingInstruction, reset, separator, setDTDContentModelHandler, setDTDContentModelSource, setDTDHandler, setDTDSource, startAttlist, startConditional, startContentModel, startDTD, startExternalSubset, startGroup, startParameterEntity, textDecl, unparsedEntityDecl`

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

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

- - ### Field Detail

    - #### STANDARD_URI_CONFORMANT_FEATURE

          protected static final java.lang.String STANDARD_URI_CONFORMANT_FEATURE

      Feature identifier: standard uri conformant feature.
      See Also:
        Constant Field Values

    - #### BALANCE_SYNTAX_TREES

          protected static final java.lang.String BALANCE_SYNTAX_TREES

      Feature identifier: balance syntax trees.
      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

    - #### LOCALE

          protected static final java.lang.String LOCALE

      Property identifier: locale.
      See Also:
        Constant Field Values

    - #### fEntityResolver

          protected org.apache.xerces.xni.parser.XMLEntityResolver fEntityResolver

      Entity resolver .

    - #### fDTDScanner

          protected XMLDTDScannerImpl fDTDScanner

    - #### fEntityManager

          protected XMLEntityManager fEntityManager

    - #### fLocale

          protected java.util.Locale fLocale

  - ### Constructor Detail

    - #### XMLDTDLoader

          public XMLDTDLoader()

      Deny default construction; we need a SymtolTable!

    - #### XMLDTDLoader

          public XMLDTDLoader(SymbolTable symbolTable)

    - #### XMLDTDLoader

          public XMLDTDLoader(SymbolTable symbolTable,
                      org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)

  - ### Method Detail

    - #### getRecognizedFeatures

          public java.lang.String[] getRecognizedFeatures()

      Returns a list of feature identifiers that are recognized by this component. This method may return null if no features are recognized by this component.
      Specified by:
        `getRecognizedFeatures` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Specified by:
        `getRecognizedFeatures` in interface `org.apache.xerces.xni.parser.XMLComponent`
      Overrides:
        `getRecognizedFeatures` in class `XMLDTDProcessor`

    - #### setFeature

          public void setFeature(java.lang.String featureId,
                        boolean state)
                          throws org.apache.xerces.xni.parser.XMLConfigurationException

      Sets the state of a feature. This method is called by the component manager any time after reset when a feature changes state.

      Note: Components should silently ignore features that do not affect the operation of the component.

      Specified by:
        `setFeature` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Specified by:
        `setFeature` in interface `org.apache.xerces.xni.parser.XMLComponent`
      Overrides:
        `setFeature` in class `XMLDTDProcessor`
      Parameters:
        `featureId` - The feature identifier.
        `state` - The state of the feature.
      Throws:
        `SAXNotRecognizedException` - The component should not throw this exception.
        `SAXNotSupportedException` - The component should not throw this exception.
        `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.

    - #### getRecognizedProperties

          public java.lang.String[] getRecognizedProperties()

      Returns a list of property identifiers that are recognized by this component. This method may return null if no properties are recognized by this component.
      Specified by:
        `getRecognizedProperties` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Specified by:
        `getRecognizedProperties` in interface `org.apache.xerces.xni.parser.XMLComponent`
      Overrides:
        `getRecognizedProperties` in class `XMLDTDProcessor`

    - #### getProperty

          public java.lang.Object getProperty(java.lang.String propertyId)
                                       throws org.apache.xerces.xni.parser.XMLConfigurationException

      Returns the state of a property.
      Specified by:
        `getProperty` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Parameters:
        `propertyId` - The property identifier.
      Throws:
        `org.apache.xerces.xni.parser.XMLConfigurationException` - Thrown on configuration error.

    - #### setProperty

          public void setProperty(java.lang.String propertyId,
                         java.lang.Object value)
                           throws org.apache.xerces.xni.parser.XMLConfigurationException

      Sets the value of a property. This method is called by the component manager any time after reset when a property changes value.

      Note: Components should silently ignore properties that do not affect the operation of the component.

      Specified by:
        `setProperty` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Specified by:
        `setProperty` in interface `org.apache.xerces.xni.parser.XMLComponent`
      Overrides:
        `setProperty` in class `XMLDTDProcessor`
      Parameters:
        `propertyId` - The property identifier.
        `value` - The value of the property.
      Throws:
        `SAXNotRecognizedException` - The component should not throw this exception.
        `SAXNotSupportedException` - The component should not throw this exception.
        `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.

    - #### 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.grammars.XMLGrammarLoader`
      Parameters:
        `featureId` - The feature identifier.
      Throws:
        `org.apache.xerces.xni.parser.XMLConfigurationException` - Thrown on configuration error.

    - #### setLocale

          public void setLocale(java.util.Locale locale)

      Set the locale to use for messages.
      Specified by:
        `setLocale` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      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.

    - #### getLocale

          public java.util.Locale getLocale()

      Return the Locale the XMLGrammarLoader is using.
      Specified by:
        `getLocale` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`

    - #### setErrorHandler

          public void setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler)

      Sets the error handler.
      Specified by:
        `setErrorHandler` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Parameters:
        `errorHandler` - The error handler.

    - #### getErrorHandler

          public org.apache.xerces.xni.parser.XMLErrorHandler getErrorHandler()

      Returns the registered error handler.
      Specified by:
        `getErrorHandler` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`

    - #### setEntityResolver

          public void setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver entityResolver)

      Sets the entity resolver.
      Specified by:
        `setEntityResolver` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Parameters:
        `entityResolver` - The new entity resolver.

    - #### getEntityResolver

          public org.apache.xerces.xni.parser.XMLEntityResolver getEntityResolver()

      Returns the registered entity resolver.
      Specified by:
        `getEntityResolver` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`

    - #### loadGrammar

          public org.apache.xerces.xni.grammars.Grammar loadGrammar(org.apache.xerces.xni.parser.XMLInputSource source)
                                                             throws java.io.IOException,
                                                                    org.apache.xerces.xni.XNIException

      Returns a Grammar object by parsing the contents of the entity pointed to by source.
      Specified by:
        `loadGrammar` in interface `org.apache.xerces.xni.grammars.XMLGrammarLoader`
      Parameters:
        `source` - the location of the entity which forms the starting point of the grammar to be constructed.
      Throws:
        `java.io.IOException` - When a problem is encountered reading the entity XNIException When a condition arises (such as a FatalError) that requires parsing of the entity be terminated.
        `org.apache.xerces.xni.XNIException`

    - #### loadGrammarWithContext

          public void loadGrammarWithContext(XMLDTDValidator validator,
                                    java.lang.String rootName,
                                    java.lang.String publicId,
                                    java.lang.String systemId,
                                    java.lang.String baseSystemId,
                                    java.lang.String internalSubset)
                                      throws java.io.IOException,
                                             org.apache.xerces.xni.XNIException

      Parse a DTD internal and/or external subset and insert the content into the existing DTD grammar owned by the given DTDValidator.
      Throws:
        `java.io.IOException`
        `org.apache.xerces.xni.XNIException`

    - #### reset

          protected void reset()

      Overrides:
        `reset` in class `XMLDTDProcessor`

    - #### createDTDScanner

          protected XMLDTDScannerImpl createDTDScanner(SymbolTable symbolTable,
                                           XMLErrorReporter errorReporter,
                                           XMLEntityManager entityManager)

    - #### getScannerVersion

          protected short getScannerVersion()

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