Class 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 699892 2008-09-28 21:08:27Z mrglavas $
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.xerces.xni.parser.XMLDTDScanner
    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.XMLDTDContentModelHandler

    OCCURS_ONE_OR_MORE, OCCURS_ZERO_OR_MORE, OCCURS_ZERO_OR_ONE, SEPARATOR_CHOICE, SEPARATOR_SEQUENCE

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

    CONDITIONAL_IGNORE, CONDITIONAL_INCLUDE
  • Constructor Summary

    Constructors
    Constructor
    Description
    DTDParser(SymbolTable symbolTable)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    attributeDecl(String elementName, String attributeName, String type, String[] enumeration, 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(String elementName)
    A referenced element in a children content model.
    void
    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
    The start of a children group.
    void
    comment(org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.Augmentations augmentations)
    A comment.
    void
    elementDecl(String name, 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
    The end of a content model.
    void
    endDTD(org.apache.xerces.xni.Augmentations augmentations)
    The end of the DTD.
    void
    endEntity(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(String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augmentations)
    An external entity declaration.
    getDTDGrammar
    void
    internalEntityDecl(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(String elementName)
    A referenced element in a mixed content model.
    void
    notationDecl(String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augmentations)
    A notation declaration
    void
    processingInstruction(String target, org.apache.xerces.xni.XMLString data, org.apache.xerces.xni.Augmentations augmentations)
    A processing instruction.
    void
    startAttlist(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(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(String name, String publicId, String systemId, 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(String version, String encoding)
    Notifies of the presence of a TextDecl line in an entity.
    void
    unparsedEntityDecl(String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, 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.XMLDTDContentModelHandler

    any, element, empty, endContentModel, endGroup, getDTDContentModelSource, occurrence, pcdata, separator, setDTDContentModelSource, startContentModel, startGroup

    Methods inherited from interface org.apache.xerces.xni.XMLDTDHandler

    endParameterEntity, getDTDSource, ignoredCharacters, setDTDSource, startParameterEntity, textDecl
  • Field Details

    • fDTDScanner

      protected org.apache.xerces.xni.parser.XMLDTDScanner fDTDScanner
      fDTDScanner
  • Constructor Details

    • DTDParser

      public DTDParser(SymbolTable symbolTable)
      Parameters:
      symbolTable -
  • Method Details

    • getDTDGrammar

      public DTDGrammar getDTDGrammar()
      getDTDGrammar
      Returns:
      the grammar created by this parser
    • startEntity

      public void startEntity(String name, String publicId, String systemId, 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(String version, 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
      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.
      augmentations - Additional information that may include infoset augmentations.
      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.
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by application to signal an error.
    • processingInstruction

      public void processingInstruction(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.
      augmentations - Additional information that may include infoset augmentations.
      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
      Parameters:
      identifier - The resource identifier.
      augmentations - Additional information that may include infoset augmentations.
      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
      Parameters:
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • elementDecl

      public void elementDecl(String name, 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.
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • startAttlist

      public void startAttlist(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.
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • attributeDecl

      public void attributeDecl(String elementName, String attributeName, String type, String[] enumeration, 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.
      nonNormalizedDefaultValue - The attribute default value with no normalization performed, or null if no default value is specified.
      augmentations - 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 augmentations) throws org.apache.xerces.xni.XNIException
      The end of an attribute list.
      Specified by:
      endAttlist in interface org.apache.xerces.xni.XMLDTDHandler
      Parameters:
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • internalEntityDecl

      public void internalEntityDecl(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.
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • externalEntityDecl

      public void externalEntityDecl(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.
      identifier - An object containing all location information pertinent to this entity.
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • unparsedEntityDecl

      public void unparsedEntityDecl(String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, 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.
      identifier - An object containing all location information pertinent to this entity.
      notation - The name of the notation.
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • notationDecl

      public void notationDecl(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.
      identifier - An object containing all location information pertinent to this notation.
      augmentations - 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 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.
      augmentations - 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 augmentations) throws org.apache.xerces.xni.XNIException
      The end of a conditional section.
      Specified by:
      endConditional in interface org.apache.xerces.xni.XMLDTDHandler
      Parameters:
      augmentations - 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 augmentations) throws org.apache.xerces.xni.XNIException
      The end of the DTD.
      Specified by:
      endDTD in interface org.apache.xerces.xni.XMLDTDHandler
      Parameters:
      augmentations - Additional information that may include infoset augmentations.
      Throws:
      org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
    • endEntity

      public void endEntity(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(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:
    • mixedElement

      public void mixedElement(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:
    • 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:
    • childrenElement

      public void childrenElement(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:
    • 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:
    • 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.

      Throws:
      org.apache.xerces.xni.XNIException
      See Also:
    • 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.