## org.apache.xerces.parsers
Class DTDParser

    java.lang.Object
      |
      +--org.apache.xerces.parsers.XMLParser
            |
            +--org.apache.xerces.parsers.XMLGrammarParser
                  |
                  +--org.apache.xerces.parsers.DTDParser

All Implemented Interfaces:
  org.apache.xerces.xni.XMLDTDContentModelHandler, org.apache.xerces.xni.XMLDTDHandler

public abstract class DTDParser
extends XMLGrammarParser
implements org.apache.xerces.xni.XMLDTDHandler, org.apache.xerces.xni.XMLDTDContentModelHandler

Version:
  $Id: DTDParser.java,v 1.10 2002/05/07 19:29:04 elena Exp $

Field Summary
`protected org.apache.xerces.xni.parser.XMLDTDScanner` `fDTDScanner` fDTDScanner

Fields inherited from class org.apache.xerces.parsers.XMLGrammarParser
`fDatatypeValidatorFactory`

Fields inherited from class org.apache.xerces.parsers.XMLParser
`ENTITY_RESOLVER, ERROR_HANDLER, fConfiguration`

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
`DTDParser(SymbolTable symbolTable)`

Method Summary
`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 augmentations)` An attribute declaration.
`void` `childrenElement(java.lang.String elementName)` A referenced element in a children content model.
`void` `childrenEndGroup()` The end of a children group.
`void` `childrenOccurrence(short occurrence)` The occurrence count for a child in a children content model.
`void` `childrenSeparator(short separator)` The separator between choices or sequences of a children content model.
`void` `childrenStartGroup()` The start of a children group.
`void` `comment(org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.Augmentations augmentations)` A comment.
`void` `elementDecl(java.lang.String name, java.lang.String contentModel, org.apache.xerces.xni.Augmentations augmentations)` An element declaration.
`void` `endAttlist(org.apache.xerces.xni.Augmentations augmentations)` The end of an attribute list.
`void` `endConditional(org.apache.xerces.xni.Augmentations augmentations)` The end of a conditional section.
`void` `endContentModel()` The end of a content model.
`void` `endDTD(org.apache.xerces.xni.Augmentations augmentations)` The end of the DTD.
`void` `endEntity(java.lang.String name, org.apache.xerces.xni.Augmentations augmentations)` This method notifies the end of an entity.
`void` `endExternalSubset(org.apache.xerces.xni.Augmentations augmentations)` The end of the external subset.
`void` `externalEntityDecl(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augmentations)` An external entity declaration.
`DTDGrammar` `getDTDGrammar()` getDTDGrammar
`void` `internalEntityDecl(java.lang.String name, org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.XMLString nonNormalizedText, org.apache.xerces.xni.Augmentations augmentations)` An internal entity declaration.
`void` `mixedElement(java.lang.String elementName)` A referenced element in a mixed content model.
`void` `notationDecl(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augmentations)` A notation declaration
`void` `processingInstruction(java.lang.String target, org.apache.xerces.xni.XMLString data, org.apache.xerces.xni.Augmentations augmentations)` A processing instruction.
`void` `startAttlist(java.lang.String elementName, org.apache.xerces.xni.Augmentations augmentations)` The start of an attribute list.
`void` `startConditional(short type, org.apache.xerces.xni.Augmentations augmentations)` The start of a conditional section.
`void` `startContentModel(java.lang.String elementName, short type)` The start of a content model.
`void` `startDTD(org.apache.xerces.xni.XMLLocator locator, org.apache.xerces.xni.Augmentations augmentations)` The start of the DTD.
`void` `startEntity(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String encoding)` This method notifies of the start of an entity.
`void` `startExternalSubset(org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augmentations)` The start of the external subset.
`void` `textDecl(java.lang.String version, java.lang.String encoding)` 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 augmentations)` An unparsed entity declaration.

Methods inherited from class org.apache.xerces.parsers.XMLParser
`parse, reset`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.xerces.xni.XMLDTDHandler
`endParameterEntity, getDTDSource, ignoredCharacters, setDTDSource, startParameterEntity, textDecl`

Methods inherited from interface org.apache.xerces.xni.XMLDTDContentModelHandler
`any, element, empty, endContentModel, endGroup, getDTDContentModelSource, occurrence, pcdata, separator, setDTDContentModelSource, startContentModel, startGroup`

Field Detail

### fDTDScanner

    protected org.apache.xerces.xni.parser.XMLDTDScanner fDTDScanner

  fDTDScanner

Constructor Detail

### DTDParser

    public DTDParser(SymbolTable symbolTable)

  Parameters:
    `symbolTable` -

Method Detail

### getDTDGrammar

    public DTDGrammar getDTDGrammar()

  getDTDGrammar
  Returns:
    the grammar created by this parser

### startEntity

    public void startEntity(java.lang.String name,
                            java.lang.String publicId,
                            java.lang.String systemId,
                            java.lang.String encoding)
                     throws org.apache.xerces.xni.XNIException

  This method notifies of the start of an entity. The DTD has the pseudo-name of "[dtd]" and parameter entity names start with '%'.

  Note: Since the DTD is an entity, the handler will be notified of the start of the DTD entity by calling the startEntity method with the entity name "[dtd]" before calling the startDTD method.

  Parameters:
    `name` - The name of the entity.
    `publicId` - The public identifier of the entity if the entity is external, null otherwise.
    `systemId` - The system identifier of the entity if the entity is external, null otherwise.
    `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).
  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)
                  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 startEntity call.

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

  Parameters:
    `version` - The XML version, or null if not specified.
    `encoding` - The IANA encoding name of the entity.
  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 augmentations)
                  throws org.apache.xerces.xni.XNIException

  The start of the DTD.
  Specified by:
    `startDTD` in interface `org.apache.xerces.xni.XMLDTDHandler`
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### comment

    public void comment(org.apache.xerces.xni.XMLString text,
                        org.apache.xerces.xni.Augmentations augmentations)
                 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.
  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 augmentations)
                               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.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### startExternalSubset

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

  The start of the external subset.
  Specified by:
    `startExternalSubset` in interface `org.apache.xerces.xni.XMLDTDHandler`
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### endExternalSubset

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

  The end of the external subset.
  Specified by:
    `endExternalSubset` in interface `org.apache.xerces.xni.XMLDTDHandler`
  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 augmentations)
                     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.
  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 augmentations)
                      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.
  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 augmentations)
                       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", 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.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### endAttlist

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

  The end of an attribute list.
  Specified by:
    `endAttlist` in interface `org.apache.xerces.xni.XMLDTDHandler`
  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 augmentations)
                            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.
  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 augmentations)
                            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.
    `publicId` - The public identifier of the entity or null if the the entity was specified with SYSTEM.
    `systemId` - The system identifier of the entity.
  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 augmentations)
                            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.
    `publicId` - The public identifier of the entity, or null if not specified.
    `systemId` - The system identifier of the entity, or null if not specified.
    `notation` - The name of the notation.
  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 augmentations)
                      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.
    `publicId` - The public identifier of the notation, or null if not specified.
    `systemId` - The system identifier of the notation, or null if not specified.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### startConditional

    public void startConditional(short type,
                                 org.apache.xerces.xni.Augmentations augmentations)
                          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.
  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 augmentations)
                        throws org.apache.xerces.xni.XNIException

  The end of a conditional section.
  Specified by:
    `endConditional` in interface `org.apache.xerces.xni.XMLDTDHandler`
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### endDTD

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

  The end of the DTD.
  Specified by:
    `endDTD` in interface `org.apache.xerces.xni.XMLDTDHandler`
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### endEntity

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

  This method notifies the end of an entity. The DTD has the pseudo-name of "[dtd]" and parameter entity names start with '%'.

  Note: Since the DTD is an entity, the handler will be notified of the end of the DTD entity by calling the endEntity method with the entity name "[dtd]" after calling the endDTD method.

  Parameters:
    `name` - The name of the entity.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

### startContentModel

    public void startContentModel(java.lang.String elementName,
                                  short type)
                           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.
  Parameters:
    `elementName` - The name of the element.
    `type` - The content model type.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
  See Also:
    `XMLElementDecl.TYPE_EMPTY`, `XMLElementDecl.TYPE_ANY`, `XMLElementDecl.TYPE_MIXED`, `XMLElementDecl.TYPE_CHILDREN`

### mixedElement

    public void mixedElement(java.lang.String elementName)
                      throws org.apache.xerces.xni.XNIException

  A referenced element in a mixed content model. If the mixed content model only allows text content, then this method will not be called for that model. However, if this method is called for a mixed content model, then the zero or more occurrence count is implied.

  Note: This method is only called after a call to the startContentModel method where the type is TYPE_MIXED.

  Parameters:
    `elementName` - The name of the referenced element.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
  See Also:
    `XMLElementDecl.TYPE_MIXED`

### childrenStartGroup

    public void childrenStartGroup()
                            throws org.apache.xerces.xni.XNIException

  The start of a children group.

  Note: This method is only called after a call to the startContentModel method where the type is TYPE_CHILDREN.

  Note: Children groups can be nested and have associated occurrence counts.

  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
  See Also:
    `XMLElementDecl.TYPE_CHILDREN`

### childrenElement

    public void childrenElement(java.lang.String elementName)
                         throws org.apache.xerces.xni.XNIException

  A referenced element in a children content model.
  Parameters:
    `elementName` - The name of the referenced element.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
  See Also:
    `XMLElementDecl.TYPE_CHILDREN`

### childrenSeparator

    public void childrenSeparator(short separator)
                           throws org.apache.xerces.xni.XNIException

  The separator between choices or sequences of a children content model.

  Note: This method is only called after a call to the startContentModel method where the type is TYPE_CHILDREN.

  Parameters:
    `separator` - The type of children separator.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.
  See Also:
    `XMLDTDContentModelHandler.SEPARATOR_CHOICE`, `XMLDTDContentModelHandler.SEPARATOR_SEQUENCE`, `XMLElementDecl.TYPE_CHILDREN`

### childrenOccurrence

    public void childrenOccurrence(short occurrence)
                            throws org.apache.xerces.xni.XNIException

  The occurrence count for a child in a children content model.

  Note: This method is only called after a call to the startContentModel method where the type is TYPE_CHILDREN.

  Parameters:
    `occurrence` - The occurrence count for the last children element or children group.
  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`, `XMLElementDecl.TYPE_CHILDREN`

### childrenEndGroup

    public void childrenEndGroup()
                          throws org.apache.xerces.xni.XNIException

  The end of a children group.

  Note: This method is only called after a call to the startContentModel method where the type is TYPE_CHILDREN.

  See Also:
    `XMLElementDecl.TYPE_CHILDREN`

### endContentModel

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

  The end of a content model.
  Throws:
    `org.apache.xerces.xni.XNIException` - Thrown by handler to signal an error.

Copyright © 1999-2003 Apache XML Project. All Rights Reserved.