## 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 713638 2008-11-13 04:42:18Z 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
`protected static java.lang.String` `BALANCE_SYNTAX_TREES` Feature identifier: balance syntax trees.
`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`
`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
`XMLDTDLoader()` Deny default construction; we need a SymtolTable!
`XMLDTDLoader(SymbolTable symbolTable)`
`XMLDTDLoader(SymbolTable symbolTable, org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)`

Method Summary
`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

    public static final java.lang.String ENTITY_RESOLVER

  Property identifier: entity resolver.

  See Also:
    Constant Field Values

### LOCALE

    public 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-2010 The Apache Software Foundation. All Rights Reserved.