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.9 2002/01/29 01:15:17 lehors 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)
          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)
          A comment.
 void elementDecl(java.lang.String name, java.lang.String contentModel)
          An element declaration.
 void endAttlist()
          The end of an attribute list.
 void endConditional()
          The end of a conditional section.
 void endContentModel()
          The end of a content model.
 void endDTD()
          The end of the DTD.
 void endEntity(java.lang.String name)
          This method notifies the end of an entity.
 void endExternalSubset()
          The end of the external subset.
 void externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
          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)
          An internal entity declaration.
 void mixedElement(java.lang.String elementName)
          A referenced element in a mixed content model.
 void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
          A notation declaration
 void processingInstruction(java.lang.String target, org.apache.xerces.xni.XMLString data)
          A processing instruction.
 void startAttlist(java.lang.String elementName)
          The start of an attribute list.
 void startConditional(short type)
          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)
          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()
          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, java.lang.String publicId, java.lang.String systemId, java.lang.String notation)
          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
attributeDecl, comment, elementDecl, endAttlist, endConditional, endDTD, endExternalSubset, endParameterEntity, externalEntityDecl, ignoredCharacters, internalEntityDecl, notationDecl, processingInstruction, startAttlist, startConditional, startDTD, startExternalSubset, startParameterEntity, textDecl, unparsedEntityDecl
 
Methods inherited from interface org.apache.xerces.xni.XMLDTDContentModelHandler
any, element, empty, endContentModel, endGroup, occurrence, pcdata, separator, 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)
              throws org.apache.xerces.xni.XNIException
The start of the DTD.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

comment

public void comment(org.apache.xerces.xni.XMLString text)
             throws org.apache.xerces.xni.XNIException
A comment.
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)
                           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.

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()
                         throws org.apache.xerces.xni.XNIException
The start of the external subset.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endExternalSubset

public void endExternalSubset()
                       throws org.apache.xerces.xni.XNIException
The end of the external subset.
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)
                 throws org.apache.xerces.xni.XNIException
An element declaration.
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)
                  throws org.apache.xerces.xni.XNIException
The start of an attribute list.
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)
                   throws org.apache.xerces.xni.XNIException
An attribute declaration.
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()
                throws org.apache.xerces.xni.XNIException
The end of an attribute list.
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)
                        throws org.apache.xerces.xni.XNIException
An internal entity declaration.
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,
                               java.lang.String publicId,
                               java.lang.String systemId)
                        throws org.apache.xerces.xni.XNIException
An external entity declaration.
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,
                               java.lang.String publicId,
                               java.lang.String systemId,
                               java.lang.String notation)
                        throws org.apache.xerces.xni.XNIException
An unparsed entity declaration.
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,
                         java.lang.String publicId,
                         java.lang.String systemId)
                  throws org.apache.xerces.xni.XNIException
A notation declaration
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)
                      throws org.apache.xerces.xni.XNIException
The start of a conditional section.
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()
                    throws org.apache.xerces.xni.XNIException
The end of a conditional section.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endDTD

public void endDTD()
            throws org.apache.xerces.xni.XNIException
The end of the DTD.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endEntity

public void endEntity(java.lang.String name)
               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-2002 Apache XML Project. All Rights Reserved.