org.apache.xerces.parsers

Class DTDParser

public abstract class DTDParser extends XMLGrammarParser implements XMLDTDHandler, XMLDTDContentModelHandler

Version: $Id: DTDParser.java,v 1.12 2004/03/25 04:03:23 mrglavas Exp $

Field Summary
protected XMLDTDScannerfDTDScanner
fDTDScanner
Constructor Summary
DTDParser(SymbolTable symbolTable)
Method Summary
voidattributeDecl(String elementName, String attributeName, String type, String[] enumeration, String defaultType, XMLString defaultValue, XMLString nonNormalizedDefaultValue, Augmentations augmentations)
An attribute declaration.
voidchildrenElement(String elementName)
A referenced element in a children content model.
voidchildrenEndGroup()
The end of a children group.
voidchildrenOccurrence(short occurrence)
The occurrence count for a child in a children content model.
voidchildrenSeparator(short separator)
The separator between choices or sequences of a children content model.
voidchildrenStartGroup()
The start of a children group.
voidcomment(XMLString text, Augmentations augmentations)
A comment.
voidelementDecl(String name, String contentModel, Augmentations augmentations)
An element declaration.
voidendAttlist(Augmentations augmentations)
The end of an attribute list.
voidendConditional(Augmentations augmentations)
The end of a conditional section.
voidendContentModel()
The end of a content model.
voidendDTD(Augmentations augmentations)
The end of the DTD.
voidendEntity(String name, Augmentations augmentations)
This method notifies the end of an entity.
voidendExternalSubset(Augmentations augmentations)
The end of the external subset.
voidexternalEntityDecl(String name, XMLResourceIdentifier identifier, Augmentations augmentations)
An external entity declaration.
DTDGrammargetDTDGrammar()
getDTDGrammar
voidinternalEntityDecl(String name, XMLString text, XMLString nonNormalizedText, Augmentations augmentations)
An internal entity declaration.
voidmixedElement(String elementName)
A referenced element in a mixed content model.
voidnotationDecl(String name, XMLResourceIdentifier identifier, Augmentations augmentations)
A notation declaration
voidprocessingInstruction(String target, XMLString data, Augmentations augmentations)
A processing instruction.
voidstartAttlist(String elementName, Augmentations augmentations)
The start of an attribute list.
voidstartConditional(short type, Augmentations augmentations)
The start of a conditional section.
voidstartContentModel(String elementName, short type)
The start of a content model.
voidstartDTD(XMLLocator locator, Augmentations augmentations)
The start of the DTD.
voidstartEntity(String name, String publicId, String systemId, String encoding)
This method notifies of the start of an entity.
voidstartExternalSubset(XMLResourceIdentifier identifier, Augmentations augmentations)
The start of the external subset.
voidtextDecl(String version, String encoding)
Notifies of the presence of a TextDecl line in an entity.
voidunparsedEntityDecl(String name, XMLResourceIdentifier identifier, String notation, Augmentations augmentations)
An unparsed entity declaration.

Field Detail

fDTDScanner

protected XMLDTDScanner fDTDScanner
fDTDScanner

Constructor Detail

DTDParser

public DTDParser(SymbolTable symbolTable)

Parameters: symbolTable

Method Detail

attributeDecl

public void attributeDecl(String elementName, String attributeName, String type, String[] enumeration, String defaultType, XMLString defaultValue, XMLString nonNormalizedDefaultValue, Augmentations augmentations)
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: XNIException Thrown by handler to signal an error.

childrenElement

public void childrenElement(String elementName)
A referenced element in a children content model.

Parameters: elementName The name of the referenced element.

Throws: XNIException Thrown by handler to signal an error.

See Also: TYPE_CHILDREN

childrenEndGroup

public void childrenEndGroup()
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: TYPE_CHILDREN

childrenOccurrence

public void childrenOccurrence(short occurrence)
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: 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 TYPE_CHILDREN

childrenSeparator

public void childrenSeparator(short separator)
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: XNIException Thrown by handler to signal an error.

See Also: XMLDTDContentModelHandler#SEPARATOR_CHOICE XMLDTDContentModelHandler#SEPARATOR_SEQUENCE TYPE_CHILDREN

childrenStartGroup

public void childrenStartGroup()
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: XNIException Thrown by handler to signal an error.

See Also: TYPE_CHILDREN

comment

public void comment(XMLString text, Augmentations augmentations)
A comment.

Parameters: text The text in the comment.

Throws: XNIException Thrown by application to signal an error.

elementDecl

public void elementDecl(String name, String contentModel, Augmentations augmentations)
An element declaration.

Parameters: name The name of the element. contentModel The element content model.

Throws: XNIException Thrown by handler to signal an error.

endAttlist

public void endAttlist(Augmentations augmentations)
The end of an attribute list.

Throws: XNIException Thrown by handler to signal an error.

endConditional

public void endConditional(Augmentations augmentations)
The end of a conditional section.

Throws: XNIException Thrown by handler to signal an error.

endContentModel

public void endContentModel()
The end of a content model.

Throws: XNIException Thrown by handler to signal an error.

endDTD

public void endDTD(Augmentations augmentations)
The end of the DTD.

Throws: XNIException Thrown by handler to signal an error.

endEntity

public void endEntity(String name, Augmentations augmentations)
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: XNIException Thrown by handler to signal an error.

endExternalSubset

public void endExternalSubset(Augmentations augmentations)
The end of the external subset.

Throws: XNIException Thrown by handler to signal an error.

externalEntityDecl

public void externalEntityDecl(String name, XMLResourceIdentifier identifier, Augmentations augmentations)
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. identifier An object containing all location information pertinent to this entity. augmentations Additional information that may include infoset augmentations.

Throws: XNIException Thrown by handler to signal an error.

getDTDGrammar

public DTDGrammar getDTDGrammar()
getDTDGrammar

Returns: the grammar created by this parser

internalEntityDecl

public void internalEntityDecl(String name, XMLString text, XMLString nonNormalizedText, Augmentations augmentations)
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: XNIException Thrown by handler to signal an error.

mixedElement

public void mixedElement(String elementName)
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: XNIException Thrown by handler to signal an error.

See Also: TYPE_MIXED

notationDecl

public void notationDecl(String name, XMLResourceIdentifier identifier, Augmentations augmentations)
A notation declaration

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: XNIException Thrown by handler to signal an error.

processingInstruction

public void processingInstruction(String target, XMLString data, Augmentations augmentations)
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: XNIException Thrown by handler to signal an error.

startAttlist

public void startAttlist(String elementName, Augmentations augmentations)
The start of an attribute list.

Parameters: elementName The name of the element that this attribute list is associated with.

Throws: XNIException Thrown by handler to signal an error.

startConditional

public void startConditional(short type, Augmentations augmentations)
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: XNIException Thrown by handler to signal an error.

See Also: XMLDTDHandler#CONDITIONAL_INCLUDE XMLDTDHandler#CONDITIONAL_IGNORE

startContentModel

public void startContentModel(String elementName, short type)
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: XNIException Thrown by handler to signal an error.

See Also: TYPE_EMPTY TYPE_ANY TYPE_MIXED TYPE_CHILDREN

startDTD

public void startDTD(XMLLocator locator, Augmentations augmentations)
The start of the DTD.

Throws: XNIException Thrown by handler to signal an error.

startEntity

public void startEntity(String name, String publicId, String systemId, String encoding)
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: XNIException Thrown by handler to signal an error.

startExternalSubset

public void startExternalSubset(XMLResourceIdentifier identifier, Augmentations augmentations)
The start of the external subset.

Throws: XNIException Thrown by handler to signal an error.

textDecl

public void textDecl(String version, String encoding)
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: XNIException Thrown by handler to signal an error.

unparsedEntityDecl

public void unparsedEntityDecl(String name, XMLResourceIdentifier identifier, String notation, Augmentations augmentations)
An unparsed entity declaration.

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: XNIException Thrown by handler to signal an error.

Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.