org.apache.xerces.impl.dtd

## Class XMLDTDProcessor

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

- All Implemented Interfaces:
    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:
    XMLDTDLoader

      public class XMLDTDProcessor
      extends java.lang.Object
      implements org.apache.xerces.xni.parser.XMLComponent, org.apache.xerces.xni.parser.XMLDTDFilter, org.apache.xerces.xni.parser.XMLDTDContentModelFilter

  The DTD processor. The processor implements a DTD filter: receiving DTD events from the DTD scanner; validating the content and structure; building a grammar, if applicable; and notifying the DTDHandler of the information resulting from the process.

  This component requires the following features and properties from the component manager that uses it:

  - 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: XMLDTDProcessor.java 883491 2009-11-23 20:32:14Z knoaman $
  Author:
    Neil Graham, 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` | `DTD_VALIDATOR` Property identifier: validator .
    `protected static java.lang.String` | `ERROR_REPORTER` Property identifier: error reporter.
    `protected org.apache.xerces.xni.XMLDTDContentModelHandler` | `fDTDContentModelHandler` DTD content model handler.
    `protected org.apache.xerces.xni.parser.XMLDTDContentModelSource` | `fDTDContentModelSource` DTD content model source.
    `protected DTDGrammar` | `fDTDGrammar` DTD Grammar.
    `protected org.apache.xerces.xni.XMLDTDHandler` | `fDTDHandler` DTD handler.
    `protected org.apache.xerces.xni.parser.XMLDTDSource` | `fDTDSource` DTD source.
    `protected boolean` | `fDTDValidation` Validation against only DTD
    `protected XMLErrorReporter` | `fErrorReporter` Error reporter.
    `protected DTDGrammarBucket` | `fGrammarBucket` Grammar bucket.
    `protected org.apache.xerces.xni.grammars.XMLGrammarPool` | `fGrammarPool`
    `protected boolean` | `fInDTDIgnore` True if in an ignore conditional section of the DTD.
    `protected java.util.Locale` | `fLocale`
    `protected SymbolTable` | `fSymbolTable` Symbol table.
    `protected boolean` | `fValidation` Validation.
    `protected XMLDTDValidator` | `fValidator`
    `protected boolean` | `fWarnDuplicateAttdef` warn on duplicate attribute definition, this feature works only when validation is true
    `protected boolean` | `fWarnOnUndeclaredElemdef` warn on undeclared element referenced in content model, this feature only works when valiation is true
    `protected static java.lang.String` | `GRAMMAR_POOL` Property identifier: grammar pool.
    `protected static java.lang.String` | `NOTIFY_CHAR_REFS` Feature identifier: notify character references.
    `protected static java.lang.String` | `PARSER_SETTINGS`
    `protected static java.lang.String` | `SYMBOL_TABLE` Property identifier: symbol table.
    `protected static java.lang.String` | `VALIDATION` Feature identifier: validation.
    `protected static java.lang.String` | `WARN_ON_DUPLICATE_ATTDEF` Feature identifier: warn on duplicate attdef
    `protected static java.lang.String` | `WARN_ON_UNDECLARED_ELEMDEF` Feature identifier: warn on undeclared element referenced in content model.

    - ### 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
    `XMLDTDProcessor()` Default constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `any(org.apache.xerces.xni.Augmentations augs)` A content model of ANY.
    `void` | `attributeDecl(java.lang.String elementName, java.lang.String attributeName, java.lang.String type, java.lang.String[] enumeration, java.lang.String defaultType, org.apache.xerces.xni.XMLString defaultValue, org.apache.xerces.xni.XMLString nonNormalizedDefaultValue, org.apache.xerces.xni.Augmentations augs)` An attribute declaration.
    `protected static void` | `checkStandaloneEntityRef(java.lang.String name, DTDGrammar grammar, XMLEntityDecl tempEntityDecl, XMLErrorReporter errorReporter)` Check standalone entity reference.
    `void` | `comment(org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.Augmentations augs)` A comment.
    `void` | `element(java.lang.String elementName, org.apache.xerces.xni.Augmentations augs)` A referenced element in a mixed or children content model.
    `void` | `elementDecl(java.lang.String name, java.lang.String contentModel, org.apache.xerces.xni.Augmentations augs)` An element declaration.
    `void` | `empty(org.apache.xerces.xni.Augmentations augs)` A content model of EMPTY.
    `void` | `endAttlist(org.apache.xerces.xni.Augmentations augs)` The end of an attribute list.
    `void` | `endConditional(org.apache.xerces.xni.Augmentations augs)` The end of a conditional section.
    `void` | `endContentModel(org.apache.xerces.xni.Augmentations augs)` The end of a content model.
    `void` | `endDTD(org.apache.xerces.xni.Augmentations augs)` The end of the DTD.
    `void` | `endExternalSubset(org.apache.xerces.xni.Augmentations augs)` The end of the DTD external subset.
    `void` | `endGroup(org.apache.xerces.xni.Augmentations augs)` The end of a group for mixed or children content models.
    `void` | `endParameterEntity(java.lang.String name, org.apache.xerces.xni.Augmentations augs)` This method notifies the end of a parameter entity.
    `void` | `externalEntityDecl(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augs)` An external entity declaration.
    `org.apache.xerces.xni.XMLDTDContentModelHandler` | `getDTDContentModelHandler()` Gets the DTD content model handler.
    `org.apache.xerces.xni.parser.XMLDTDContentModelSource` | `getDTDContentModelSource()`
    `org.apache.xerces.xni.XMLDTDHandler` | `getDTDHandler()` Returns the DTD handler.
    `org.apache.xerces.xni.parser.XMLDTDSource` | `getDTDSource()`
    `java.lang.Boolean` | `getFeatureDefault(java.lang.String featureId)` Returns the default state for a feature, or null if this component does not want to report a default value for this feature.
    `java.lang.Object` | `getPropertyDefault(java.lang.String propertyId)` Returns the default state for a property, or null if this component does not want to report a default value for this 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.
    `void` | `ignoredCharacters(org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.Augmentations augs)` Characters within an IGNORE conditional section.
    `void` | `internalEntityDecl(java.lang.String name, org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.XMLString nonNormalizedText, org.apache.xerces.xni.Augmentations augs)` An internal entity declaration.
    `protected boolean` | `isValidName(java.lang.String name)`
    `protected boolean` | `isValidNmtoken(java.lang.String nmtoken)`
    `void` | `notationDecl(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augs)` A notation declaration
    `void` | `occurrence(short occurrence, org.apache.xerces.xni.Augmentations augs)` The occurrence count for a child in a children content model or for the mixed content model group.
    `void` | `pcdata(org.apache.xerces.xni.Augmentations augs)` The appearance of "#PCDATA" within a group signifying a mixed content model.
    `void` | `processingInstruction(java.lang.String target, org.apache.xerces.xni.XMLString data, org.apache.xerces.xni.Augmentations augs)` A processing instruction.
    `protected void` | `reset()`
    `void` | `reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager)` Resets the component.
    `void` | `separator(short separator, org.apache.xerces.xni.Augmentations augs)` The separator between choices or sequences of a mixed or children content model.
    `void` | `setDTDContentModelHandler(org.apache.xerces.xni.XMLDTDContentModelHandler dtdContentModelHandler)` Sets the DTD content model handler.
    `void` | `setDTDContentModelSource(org.apache.xerces.xni.parser.XMLDTDContentModelSource source)`
    `void` | `setDTDHandler(org.apache.xerces.xni.XMLDTDHandler dtdHandler)` Sets the DTD handler.
    `void` | `setDTDSource(org.apache.xerces.xni.parser.XMLDTDSource source)`
    `void` | `setFeature(java.lang.String featureId, boolean state)` Sets the state of a feature.
    `void` | `setProperty(java.lang.String propertyId, java.lang.Object value)` Sets the value of a property.
    `void` | `startAttlist(java.lang.String elementName, org.apache.xerces.xni.Augmentations augs)` The start of an attribute list.
    `void` | `startConditional(short type, org.apache.xerces.xni.Augmentations augs)` The start of a conditional section.
    `void` | `startContentModel(java.lang.String elementName, org.apache.xerces.xni.Augmentations augs)` The start of a content model.
    `void` | `startDTD(org.apache.xerces.xni.XMLLocator locator, org.apache.xerces.xni.Augmentations augs)` The start of the DTD.
    `void` | `startExternalSubset(org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augs)` The start of the DTD external subset.
    `void` | `startGroup(org.apache.xerces.xni.Augmentations augs)` A start of either a mixed or children content model.
    `void` | `startParameterEntity(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, java.lang.String encoding, org.apache.xerces.xni.Augmentations augs)` This method notifies of the start of a parameter entity.
    `void` | `textDecl(java.lang.String version, java.lang.String encoding, org.apache.xerces.xni.Augmentations augs)` Notifies of the presence of a TextDecl line in an entity.
    `void` | `unparsedEntityDecl(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, java.lang.String notation, org.apache.xerces.xni.Augmentations augs)` An unparsed entity declaration.

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

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

- - ### Field Detail

    - #### VALIDATION

          protected static final java.lang.String VALIDATION

      Feature identifier: validation.
      See Also:
        Constant Field Values

    - #### NOTIFY_CHAR_REFS

          protected static final java.lang.String NOTIFY_CHAR_REFS

      Feature identifier: notify character references.
      See Also:
        Constant Field Values

    - #### WARN_ON_DUPLICATE_ATTDEF

          protected static final java.lang.String WARN_ON_DUPLICATE_ATTDEF

      Feature identifier: warn on duplicate attdef
      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 referenced in content model.
      See Also:
        Constant Field Values

    - #### PARSER_SETTINGS

          protected static final java.lang.String PARSER_SETTINGS

      See Also:
        Constant Field Values

    - #### SYMBOL_TABLE

          protected static final java.lang.String SYMBOL_TABLE

      Property identifier: symbol table.
      See Also:
        Constant Field Values

    - #### ERROR_REPORTER

          protected static final java.lang.String ERROR_REPORTER

      Property identifier: error reporter.
      See Also:
        Constant Field Values

    - #### GRAMMAR_POOL

          protected static final java.lang.String GRAMMAR_POOL

      Property identifier: grammar pool.
      See Also:
        Constant Field Values

    - #### DTD_VALIDATOR

          protected static final java.lang.String DTD_VALIDATOR

      Property identifier: validator .
      See Also:
        Constant Field Values

    - #### fValidation

          protected boolean fValidation

      Validation.

    - #### fDTDValidation

          protected boolean fDTDValidation

      Validation against only DTD

    - #### fWarnDuplicateAttdef

          protected boolean fWarnDuplicateAttdef

      warn on duplicate attribute definition, this feature works only when validation is true

    - #### fWarnOnUndeclaredElemdef

          protected boolean fWarnOnUndeclaredElemdef

      warn on undeclared element referenced in content model, this feature only works when valiation is true

    - #### fSymbolTable

          protected SymbolTable fSymbolTable

      Symbol table.

    - #### fErrorReporter

          protected XMLErrorReporter fErrorReporter

      Error reporter.

    - #### fGrammarBucket

          protected DTDGrammarBucket fGrammarBucket

      Grammar bucket.

    - #### fValidator

          protected XMLDTDValidator fValidator

    - #### fGrammarPool

          protected org.apache.xerces.xni.grammars.XMLGrammarPool fGrammarPool

    - #### fLocale

          protected java.util.Locale fLocale

    - #### fDTDHandler

          protected org.apache.xerces.xni.XMLDTDHandler fDTDHandler

      DTD handler.

    - #### fDTDSource

          protected org.apache.xerces.xni.parser.XMLDTDSource fDTDSource

      DTD source.

    - #### fDTDContentModelHandler

          protected org.apache.xerces.xni.XMLDTDContentModelHandler fDTDContentModelHandler

      DTD content model handler.

    - #### fDTDContentModelSource

          protected org.apache.xerces.xni.parser.XMLDTDContentModelSource fDTDContentModelSource

      DTD content model source.

    - #### fDTDGrammar

          protected DTDGrammar fDTDGrammar

      DTD Grammar.

    - #### fInDTDIgnore

          protected boolean fInDTDIgnore

      True if in an ignore conditional section of the DTD.

  - ### Constructor Detail

    - #### XMLDTDProcessor

          public XMLDTDProcessor()

      Default constructor.

  - ### Method Detail

    - #### reset

          public void reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager)
                     throws org.apache.xerces.xni.parser.XMLConfigurationException

      Description copied from interface: `org.apache.xerces.xni.parser.XMLComponent`
      Resets the component. The component can query the component manager about any features and properties that affect the operation of the component.
      Specified by:
        `reset` in interface `org.apache.xerces.xni.parser.XMLComponent`
      Parameters:
        `componentManager` - The component manager.
      Throws:
        `org.apache.xerces.xni.parser.XMLConfigurationException`

    - #### reset

          protected void reset()

    - #### 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.parser.XMLComponent`

    - #### 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.parser.XMLComponent`
      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.parser.XMLComponent`

    - #### 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.parser.XMLComponent`
      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.

    - #### getFeatureDefault

          public java.lang.Boolean getFeatureDefault(java.lang.String featureId)

      Returns the default state for a feature, or null if this component does not want to report a default value for this feature.
      Specified by:
        `getFeatureDefault` in interface `org.apache.xerces.xni.parser.XMLComponent`
      Parameters:
        `featureId` - The feature identifier.
      Since:
        Xerces 2.2.0

    - #### getPropertyDefault

          public java.lang.Object getPropertyDefault(java.lang.String propertyId)

      Returns the default state for a property, or null if this component does not want to report a default value for this property.
      Specified by:
        `getPropertyDefault` in interface `org.apache.xerces.xni.parser.XMLComponent`
      Parameters:
        `propertyId` - The property identifier.
      Since:
        Xerces 2.2.0

    - #### setDTDHandler

          public void setDTDHandler(org.apache.xerces.xni.XMLDTDHandler dtdHandler)

      Sets the DTD handler.
      Specified by:
        `setDTDHandler` in interface `org.apache.xerces.xni.parser.XMLDTDSource`
      Parameters:
        `dtdHandler` - The DTD handler.

    - #### getDTDHandler

          public org.apache.xerces.xni.XMLDTDHandler getDTDHandler()

      Returns the DTD handler.
      Specified by:
        `getDTDHandler` in interface `org.apache.xerces.xni.parser.XMLDTDSource`
      Returns:
        The DTD handler.

    - #### setDTDContentModelHandler

          public void setDTDContentModelHandler(org.apache.xerces.xni.XMLDTDContentModelHandler dtdContentModelHandler)

      Sets the DTD content model handler.
      Specified by:
        `setDTDContentModelHandler` in interface `org.apache.xerces.xni.parser.XMLDTDContentModelSource`
      Parameters:
        `dtdContentModelHandler` - The DTD content model handler.

    - #### getDTDContentModelHandler

          public org.apache.xerces.xni.XMLDTDContentModelHandler getDTDContentModelHandler()

      Gets the DTD content model handler.
      Specified by:
        `getDTDContentModelHandler` in interface `org.apache.xerces.xni.parser.XMLDTDContentModelSource`
      Returns:
        dtdContentModelHandler The DTD content model handler.

    - #### startExternalSubset

          public void startExternalSubset(org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                 org.apache.xerces.xni.Augmentations augs)
                                   throws org.apache.xerces.xni.XNIException

      The start of the DTD external subset.
      Specified by:
        `startExternalSubset` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
        `identifier` - The resource identifier.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### endExternalSubset

          public void endExternalSubset(org.apache.xerces.xni.Augmentations augs)
                                 throws org.apache.xerces.xni.XNIException

      The end of the DTD external subset.
      Specified by:
        `endExternalSubset` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### checkStandaloneEntityRef

          protected static void checkStandaloneEntityRef(java.lang.String name,
                                      DTDGrammar grammar,
                                      XMLEntityDecl tempEntityDecl,
                                      XMLErrorReporter errorReporter)
                                                  throws org.apache.xerces.xni.XNIException

      Check standalone entity reference. Made static to make common between the validator and loader.
      Parameters:
        `name` -
        `grammar` - grammar to which entity belongs
        `tempEntityDecl` - empty entity declaration to put results in
        `errorReporter` - error reporter to send errors to
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by application to signal an error.

    - #### comment

          public void comment(org.apache.xerces.xni.XMLString text,
                     org.apache.xerces.xni.Augmentations augs)
                       throws org.apache.xerces.xni.XNIException

      A comment.
      Specified by:
        `comment` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `text` - The text in the comment.
        `augs` - Additional information that may include infoset augmentations
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by application to signal an error.

    - #### processingInstruction

          public void processingInstruction(java.lang.String target,
                                   org.apache.xerces.xni.XMLString data,
                                   org.apache.xerces.xni.Augmentations augs)
                                     throws org.apache.xerces.xni.XNIException

      A processing instruction. Processing instructions consist of a target name and, optionally, text data. The data is only meaningful to the application.

      Typically, a processing instruction's data will contain a series of pseudo-attributes. These pseudo-attributes follow the form of element attributes but are not parsed or presented to the application as anything other than text. The application is responsible for parsing the data.

      Specified by:
        `processingInstruction` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `target` - The target.
        `data` - The data or null if none specified.
        `augs` - Additional information that may include infoset augmentations
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### startDTD

          public void startDTD(org.apache.xerces.xni.XMLLocator locator,
                      org.apache.xerces.xni.Augmentations augs)
                        throws org.apache.xerces.xni.XNIException

      The start of the DTD.
      Specified by:
        `startDTD` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `locator` - The document locator, or null if the document location cannot be reported during the parsing of the document DTD. However, it is strongly recommended that a locator be supplied that can at least report the base system identifier of the DTD.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### ignoredCharacters

          public void ignoredCharacters(org.apache.xerces.xni.XMLString text,
                               org.apache.xerces.xni.Augmentations augs)
                                 throws org.apache.xerces.xni.XNIException

      Characters within an IGNORE conditional section.
      Specified by:
        `ignoredCharacters` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `text` - The ignored text.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### textDecl

          public void textDecl(java.lang.String version,
                      java.lang.String encoding,
                      org.apache.xerces.xni.Augmentations augs)
                        throws org.apache.xerces.xni.XNIException

      Notifies of the presence of a TextDecl line in an entity. If present, this method will be called immediately following the startParameterEntity call.

      Note: This method is only called for external parameter entities referenced in the DTD.

      Specified by:
        `textDecl` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `version` - The XML version, or null if not specified.
        `encoding` - The IANA encoding name of the entity.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### startParameterEntity

          public void startParameterEntity(java.lang.String name,
                                  org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                  java.lang.String encoding,
                                  org.apache.xerces.xni.Augmentations augs)
                                    throws org.apache.xerces.xni.XNIException

      This method notifies of the start of a parameter entity. The parameter entity name start with a '%' character.
      Specified by:
        `startParameterEntity` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `name` - The name of the parameter entity.
        `identifier` - The resource identifier.
        `encoding` - The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal parameter entities).
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### endParameterEntity

          public void endParameterEntity(java.lang.String name,
                                org.apache.xerces.xni.Augmentations augs)
                                  throws org.apache.xerces.xni.XNIException

      This method notifies the end of a parameter entity. Parameter entity names begin with a '%' character.
      Specified by:
        `endParameterEntity` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `name` - The name of the parameter entity.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### elementDecl

          public void elementDecl(java.lang.String name,
                         java.lang.String contentModel,
                         org.apache.xerces.xni.Augmentations augs)
                           throws org.apache.xerces.xni.XNIException

      An element declaration.
      Specified by:
        `elementDecl` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `name` - The name of the element.
        `contentModel` - The element content model.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### startAttlist

          public void startAttlist(java.lang.String elementName,
                          org.apache.xerces.xni.Augmentations augs)
                            throws org.apache.xerces.xni.XNIException

      The start of an attribute list.
      Specified by:
        `startAttlist` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `elementName` - The name of the element that this attribute list is associated with.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### attributeDecl

          public void attributeDecl(java.lang.String elementName,
                           java.lang.String attributeName,
                           java.lang.String type,
                           java.lang.String[] enumeration,
                           java.lang.String defaultType,
                           org.apache.xerces.xni.XMLString defaultValue,
                           org.apache.xerces.xni.XMLString nonNormalizedDefaultValue,
                           org.apache.xerces.xni.Augmentations augs)
                             throws org.apache.xerces.xni.XNIException

      An attribute declaration.
      Specified by:
        `attributeDecl` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `elementName` - The name of the element that this attribute is associated with.
        `attributeName` - The name of the attribute.
        `type` - The attribute type. This value will be one of the following: "CDATA", "ENTITY", "ENTITIES", "ENUMERATION", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", or "NOTATION".
        `enumeration` - If the type has the value "ENUMERATION" or "NOTATION", this array holds the allowed attribute values; otherwise, this array is null.
        `defaultType` - The attribute default type. This value will be one of the following: "#FIXED", "#IMPLIED", "#REQUIRED", or null.
        `defaultValue` - The attribute default value, or null if no default value is specified.
        `nonNormalizedDefaultValue` - The attribute default value with no normalization performed, or null if no default value is specified.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### endAttlist

          public void endAttlist(org.apache.xerces.xni.Augmentations augs)
                          throws org.apache.xerces.xni.XNIException

      The end of an attribute list.
      Specified by:
        `endAttlist` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### internalEntityDecl

          public void internalEntityDecl(java.lang.String name,
                                org.apache.xerces.xni.XMLString text,
                                org.apache.xerces.xni.XMLString nonNormalizedText,
                                org.apache.xerces.xni.Augmentations augs)
                                  throws org.apache.xerces.xni.XNIException

      An internal entity declaration.
      Specified by:
        `internalEntityDecl` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `name` - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
        `text` - The value of the entity.
        `nonNormalizedText` - The non-normalized value of the entity. This value contains the same sequence of characters that was in the internal entity declaration, without any entity references expanded.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### externalEntityDecl

          public void externalEntityDecl(java.lang.String name,
                                org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                org.apache.xerces.xni.Augmentations augs)
                                  throws org.apache.xerces.xni.XNIException

      An external entity declaration.
      Specified by:
        `externalEntityDecl` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `name` - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
        `identifier` - An object containing all location information pertinent to this external entity.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### unparsedEntityDecl

          public void unparsedEntityDecl(java.lang.String name,
                                org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                java.lang.String notation,
                                org.apache.xerces.xni.Augmentations augs)
                                  throws org.apache.xerces.xni.XNIException

      An unparsed entity declaration.
      Specified by:
        `unparsedEntityDecl` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `name` - The name of the entity.
        `identifier` - An object containing all location information pertinent to this entity.
        `notation` - The name of the notation.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### notationDecl

          public void notationDecl(java.lang.String name,
                          org.apache.xerces.xni.XMLResourceIdentifier identifier,
                          org.apache.xerces.xni.Augmentations augs)
                            throws org.apache.xerces.xni.XNIException

      A notation declaration
      Specified by:
        `notationDecl` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `name` - The name of the notation.
        `identifier` - An object containing all location information pertinent to this notation.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### startConditional

          public void startConditional(short type,
                              org.apache.xerces.xni.Augmentations augs)
                                throws org.apache.xerces.xni.XNIException

      The start of a conditional section.
      Specified by:
        `startConditional` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `type` - The type of the conditional section. This value will either be CONDITIONAL_INCLUDE or CONDITIONAL_IGNORE.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
      See Also:
        `XMLDTDHandler.CONDITIONAL_INCLUDE`, `XMLDTDHandler.CONDITIONAL_IGNORE`

    - #### endConditional

          public void endConditional(org.apache.xerces.xni.Augmentations augs)
                              throws org.apache.xerces.xni.XNIException

      The end of a conditional section.
      Specified by:
        `endConditional` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### endDTD

          public void endDTD(org.apache.xerces.xni.Augmentations augs)
                      throws org.apache.xerces.xni.XNIException

      The end of the DTD.
      Specified by:
        `endDTD` in interface `org.apache.xerces.xni.XMLDTDHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### setDTDSource

          public void setDTDSource(org.apache.xerces.xni.parser.XMLDTDSource source)

      Specified by:
        `setDTDSource` in interface `org.apache.xerces.xni.XMLDTDHandler`

    - #### getDTDSource

          public org.apache.xerces.xni.parser.XMLDTDSource getDTDSource()

      Specified by:
        `getDTDSource` in interface `org.apache.xerces.xni.XMLDTDHandler`

    - #### setDTDContentModelSource

          public void setDTDContentModelSource(org.apache.xerces.xni.parser.XMLDTDContentModelSource source)

      Specified by:
        `setDTDContentModelSource` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`

    - #### getDTDContentModelSource

          public org.apache.xerces.xni.parser.XMLDTDContentModelSource getDTDContentModelSource()

      Specified by:
        `getDTDContentModelSource` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`

    - #### startContentModel

          public void startContentModel(java.lang.String elementName,
                               org.apache.xerces.xni.Augmentations augs)
                                 throws org.apache.xerces.xni.XNIException

      The start of a content model. Depending on the type of the content model, specific methods may be called between the call to the startContentModel method and the call to the endContentModel method.
      Specified by:
        `startContentModel` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `elementName` - The name of the element.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### any

          public void any(org.apache.xerces.xni.Augmentations augs)
                   throws org.apache.xerces.xni.XNIException

      A content model of ANY.
      Specified by:
        `any` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
      See Also:
        `empty(org.apache.xerces.xni.Augmentations)`, `startGroup(org.apache.xerces.xni.Augmentations)`

    - #### empty

          public void empty(org.apache.xerces.xni.Augmentations augs)
                     throws org.apache.xerces.xni.XNIException

      A content model of EMPTY.
      Specified by:
        `empty` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
      See Also:
        `any(org.apache.xerces.xni.Augmentations)`, `startGroup(org.apache.xerces.xni.Augmentations)`

    - #### startGroup

          public void startGroup(org.apache.xerces.xni.Augmentations augs)
                          throws org.apache.xerces.xni.XNIException

      A start of either a mixed or children content model. A mixed content model will immediately be followed by a call to the `pcdata()` method. A children content model will contain additional groups and/or elements.
      Specified by:
        `startGroup` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
      See Also:
        `any(org.apache.xerces.xni.Augmentations)`, `empty(org.apache.xerces.xni.Augmentations)`

    - #### pcdata

          public void pcdata(org.apache.xerces.xni.Augmentations augs)

      The appearance of "#PCDATA" within a group signifying a mixed content model. This method will be the first called following the content model's `startGroup()`.
      Specified by:
        `pcdata` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
      See Also:
        `startGroup(org.apache.xerces.xni.Augmentations)`

    - #### element

          public void element(java.lang.String elementName,
                     org.apache.xerces.xni.Augmentations augs)
                       throws org.apache.xerces.xni.XNIException

      A referenced element in a mixed or children content model.
      Specified by:
        `element` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `elementName` - The name of the referenced element.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### separator

          public void separator(short separator,
                       org.apache.xerces.xni.Augmentations augs)
                         throws org.apache.xerces.xni.XNIException

      The separator between choices or sequences of a mixed or children content model.
      Specified by:
        `separator` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `separator` - The type of children separator.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
      See Also:
        `XMLDTDContentModelHandler.SEPARATOR_CHOICE`, `XMLDTDContentModelHandler.SEPARATOR_SEQUENCE`

    - #### occurrence

          public void occurrence(short occurrence,
                        org.apache.xerces.xni.Augmentations augs)
                          throws org.apache.xerces.xni.XNIException

      The occurrence count for a child in a children content model or for the mixed content model group.
      Specified by:
        `occurrence` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `occurrence` - The occurrence count for the last element or group.
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
      See Also:
        `XMLDTDContentModelHandler.OCCURS_ZERO_OR_ONE`, `XMLDTDContentModelHandler.OCCURS_ZERO_OR_MORE`, `XMLDTDContentModelHandler.OCCURS_ONE_OR_MORE`

    - #### endGroup

          public void endGroup(org.apache.xerces.xni.Augmentations augs)
                        throws org.apache.xerces.xni.XNIException

      The end of a group for mixed or children content models.
      Specified by:
        `endGroup` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### endContentModel

          public void endContentModel(org.apache.xerces.xni.Augmentations augs)
                               throws org.apache.xerces.xni.XNIException

      The end of a content model.
      Specified by:
        `endContentModel` in interface `org.apache.xerces.xni.XMLDTDContentModelHandler`
      Parameters:
        `augs` - Additional information that may include infoset augmentations.
      Throws:
        `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

    - #### isValidNmtoken

          protected boolean isValidNmtoken(java.lang.String nmtoken)

    - #### isValidName

          protected boolean isValidName(java.lang.String name)

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