org.apache.xerces.impl.dtd
public class DTDGrammar extends Object implements XMLDTDHandler, XMLDTDContentModelHandler, EntityState, Grammar
Version: $Id: DTDGrammar.java,v 1.32 2005/03/07 23:28:41 mrglavas Exp $
Nested Class Summary | |
---|---|
protected static class | DTDGrammar.QNameHashtable
A simple Hashtable implementation that takes a tuple (String, String)
as the key and a int as value.
|
Field Summary | |
---|---|
protected XMLAttributeDecl | fAttributeDecl Temporary Attribute decl. |
protected int | fCurrentAttributeIndex Current attribute index. |
protected int | fCurrentElementIndex Current element index. |
protected XMLDTDContentModelSource | fDTDContentModelSource |
protected XMLDTDSource | fDTDSource |
protected XMLDTDDescription | fGrammarDescription |
protected boolean | fReadingExternalDTD fReadingExternalDTD |
static int | TOP_LEVEL_SCOPE Top level scope (-1). |
Constructor Summary | |
---|---|
DTDGrammar(SymbolTable symbolTable, XMLDTDDescription desc) Default constructor. |
Method Summary | |
---|---|
protected int | addContentSpecNode(short nodeType, String nodeValue)
Create an XMLContentSpec for a single non-leaf
|
protected int | addContentSpecNode(short nodeType, int leftNodeIndex, int rightNodeIndex)
Create an XMLContentSpec for a two child leaf
|
protected int | addUniqueLeafNode(String elementName)
create an XMLContentSpec for a leaf
|
void | any(Augmentations augs)
A content model of ANY.
|
void | attributeDecl(String elementName, String attributeName, String type, String[] enumeration, String defaultType, XMLString defaultValue, XMLString nonNormalizedDefaultValue, Augmentations augs)
An attribute declaration.
|
void | comment(XMLString text, Augmentations augs)
A comment.
|
protected int | createAttributeDecl() |
protected int | createContentSpec() |
protected int | createElementDecl()
if ( contentSpecIndex == -1 )
return null;
/** |
protected int | createEntityDecl() |
protected int | createNotationDecl() |
void | element(String elementName, Augmentations augs)
A referenced element in a mixed or children content model.
|
void | elementDecl(String name, String contentModel, Augmentations augs)
An element declaration.
|
void | empty(Augmentations augs)
A content model of EMPTY.
|
void | endAttlist(Augmentations augs)
The end of an attribute list. |
void | endConditional(Augmentations augs)
The end of a conditional section. |
void | endContentModel(Augmentations augs)
The end of a content model. |
void | endDTD(Augmentations augs)
The end of the DTD.
|
void | endExternalSubset(Augmentations augs)
The end of the DTD external subset.
|
void | endGroup(Augmentations augs)
The end of a group for mixed or children content models.
|
void | endParameterEntity(String name, Augmentations augs)
This method notifies the end of an entity. |
void | externalEntityDecl(String name, XMLResourceIdentifier identifier, Augmentations augs)
An external entity declaration.
|
boolean | getAttributeDecl(int attributeDeclIndex, XMLAttributeDecl attributeDecl)
getAttributeDecl
|
int | getAttributeDeclIndex(int elementDeclIndex, String attributeDeclName) |
boolean | getAttributeDeclIsExternal(int attributeDeclIndex)
Returns true if the specified attribute declaration is external.
|
boolean | getContentSpec(int contentSpecIndex, XMLContentSpec contentSpec)
getContentSpec
|
String | getContentSpecAsString(int elementDeclIndex)
getContentSpecAsString
|
short | getContentSpecType(int elementIndex) make separate function for getting contentSpecType of element.
we can avoid setting of the element values. |
XMLDTDContentModelSource | getDTDContentModelSource() |
XMLDTDSource | getDTDSource() |
protected ContentModelValidator | getElementContentModelValidator(int elementDeclIndex)
getElementContentModelValidator
|
boolean | getElementDecl(int elementDeclIndex, XMLElementDecl elementDecl)
getElementDecl
|
int | getElementDeclIndex(String elementDeclName)
getElementDeclIndex
|
int | getElementDeclIndex(QName elementDeclQName) Returns the element decl index. |
boolean | getElementDeclIsExternal(int elementDeclIndex)
Returns true if the specified element declaration is external.
|
boolean | getEntityDecl(int entityDeclIndex, XMLEntityDecl entityDecl)
getEntityDecl
|
int | getEntityDeclIndex(String entityDeclName)
getEntityDeclIndex
|
int | getFirstAttributeDeclIndex(int elementDeclIndex)
getFirstAttributeDeclIndex
|
int | getFirstElementDeclIndex()
Returns the index of the first element declaration. |
XMLGrammarDescription | getGrammarDescription() |
int | getNextAttributeDeclIndex(int attributeDeclIndex)
getNextAttributeDeclIndex
|
int | getNextElementDeclIndex(int elementDeclIndex)
Returns the next index of the element declaration following the
specified element declaration.
|
boolean | getNotationDecl(int notationDeclIndex, XMLNotationDecl notationDecl)
getNotationDecl
|
int | getNotationDeclIndex(String notationDeclName)
getNotationDeclIndex
|
SymbolTable | getSymbolTable() Returns the symbol table. |
void | ignoredCharacters(XMLString text, Augmentations augs)
Characters within an IGNORE conditional section.
|
protected void | initializeContentModelStack() Initialize content model stack. |
void | internalEntityDecl(String name, XMLString text, XMLString nonNormalizedText, Augmentations augs)
An internal entity declaration.
|
boolean | isCDATAAttribute(QName elName, QName atName)
Returns whether the given attribute is of type CDATA or not
|
boolean | isEntityDeclared(String name) |
boolean | isEntityUnparsed(String name) |
boolean | isNamespaceAware() Returns true if this grammar is namespace aware. |
void | notationDecl(String name, XMLResourceIdentifier identifier, Augmentations augs)
A notation declaration
|
void | occurrence(short occurrence, Augmentations augs)
The occurrence count for a child in a children content model or
for the mixed content model group.
|
void | pcdata(Augmentations augs)
The appearance of "#PCDATA" within a group signifying a
mixed content model. |
void | printAttributes(int elementDeclIndex) |
void | printElements() |
void | processingInstruction(String target, XMLString data, Augmentations augs)
A processing instruction. |
protected void | putElementNameMapping(QName name, int scope, int elementDeclIndex) |
void | separator(short separator, Augmentations augs)
The separator between choices or sequences of a mixed or children
content model.
|
protected void | setAttributeDecl(int elementDeclIndex, int attributeDeclIndex, XMLAttributeDecl attributeDecl) |
protected void | setContentSpec(int contentSpecIndex, XMLContentSpec contentSpec) |
protected void | setContentSpecIndex(int elementDeclIndex, int contentSpecIndex) |
void | setDTDContentModelSource(XMLDTDContentModelSource source) |
void | setDTDSource(XMLDTDSource source) |
protected void | setElementDecl(int elementDeclIndex, XMLElementDecl elementDecl) |
protected void | setEntityDecl(int entityDeclIndex, XMLEntityDecl entityDecl) |
protected void | setFirstAttributeDeclIndex(int elementDeclIndex, int newFirstAttrIndex) |
protected void | setNotationDecl(int notationDeclIndex, XMLNotationDecl notationDecl) |
void | startAttlist(String elementName, Augmentations augs)
The start of an attribute list.
|
void | startConditional(short type, Augmentations augs)
The start of a conditional section.
|
void | startContentModel(String elementName, Augmentations augs)
The start of a content model. |
void | startDTD(XMLLocator locator, Augmentations augs)
The start of the DTD.
|
void | startExternalSubset(XMLResourceIdentifier identifier, Augmentations augs)
The start of the DTD external subset.
|
void | startGroup(Augmentations augs)
A start of either a mixed or children content model. |
void | startParameterEntity(String name, XMLResourceIdentifier identifier, String encoding, Augmentations augs)
This method notifies of the start of an entity. |
void | textDecl(String version, String encoding, Augmentations augs)
Notifies of the presence of a TextDecl line in an entity. |
void | unparsedEntityDecl(String name, XMLResourceIdentifier identifier, String notation, Augmentations augs)
An unparsed entity declaration.
|
Parameters: nodeType the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_* nodeValue handle to an XMLContentSpec
Returns: handle to the newly create XMLContentSpec
Parameters: nodeType the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_* leftNodeIndex handle to an XMLContentSpec rightNodeIndex handle to an XMLContentSpec
Returns: handle to the newly create XMLContentSpec
Parameters: elementName the name (Element) for the node
Returns: handle to the newly create XMLContentSpec
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
See Also: DTDGrammar DTDGrammar
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. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: text The text in the comment. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by application to signal an error.
Parameters: elementName The name of the referenced element. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: name The name of the element. contentModel The element content model. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
See Also: DTDGrammar DTDGrammar
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
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. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
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 declaration. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: attributeDeclIndex attributeDecl The values of this structure are set by this call.
Returns: true if getAttributeDecl was able to fill in the value of attributeDecl
Parameters: attributeDeclIndex Attribute declaration index.
Parameters: contentSpecIndex contentSpec
Returns: true if find the requested contentSpec node, false otherwise
Parameters: elementDeclIndex
Returns: String
Parameters: elementDeclIndex
Returns: its ContentModelValidator if any.
Parameters: elementDeclIndex elementDecl The values of this structure are set by this call.
Returns: True if find the element, False otherwise.
Parameters: elementDeclName
Returns: index of the elementDeclName in scope
Parameters: elementDeclQName qualilfied name of the element
Parameters: elementDeclIndex The element declaration index.
Parameters: entityDeclIndex entityDecl
Returns: true if getEntityDecl was able to fill entityDecl with the contents of the entity with index entityDeclIndex
Parameters: entityDeclName
Returns: the index of the EntityDecl
Parameters: elementDeclIndex
Returns: index of the first attribute for element declaration elementDeclIndex
See Also: DTDGrammar DTDGrammar
Parameters: attributeDeclIndex
Returns: index of the next attribute of the attribute at attributeDeclIndex
Parameters: elementDeclIndex The element declaration index.
Parameters: notationDeclIndex notationDecl
Returns: return true of getNotationDecl can fill notationDecl with information about the notation at notationDeclIndex.
Parameters: notationDeclName
Returns: the index if found a notation with the name, otherwise -1.
Parameters: text The ignored text. augs Additional information that may include infoset augmentations.
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: XNIException Thrown by handler to signal an error.
Parameters: elName The element name. atName The attribute name.
Returns: true if the attribute is of type CDATA
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: XNIException Thrown by handler to signal an error.
Parameters: occurrence The occurrence count for the last element or group. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
See Also: org.apache.xerces.xni.XMLDTDContentModelHandler#OCCURS_ZERO_OR_ONE org.apache.xerces.xni.XMLDTDContentModelHandler#OCCURS_ZERO_OR_MORE org.apache.xerces.xni.XMLDTDContentModelHandler#OCCURS_ONE_OR_MORE
startGroup()
.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
See Also: DTDGrammar
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. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
Parameters: separator The type of children separator. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
See Also: org.apache.xerces.xni.XMLDTDContentModelHandler#SEPARATOR_CHOICE org.apache.xerces.xni.XMLDTDContentModelHandler#SEPARATOR_SEQUENCE
Parameters: elementName The name of the element that this attribute list is associated with. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
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: XNIException Thrown by handler to signal an error.
See Also: XMLDTDHandler#CONDITIONAL_INCLUDE XMLDTDHandler#CONDITIONAL_IGNORE
Parameters: elementName The name of the element. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
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: XNIException Thrown by handler to signal an error.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
pcdata()
method. A children content model will
contain additional groups and/or elements.
Parameters: augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
See Also: DTDGrammar DTDGrammar
Note: Since the DTD is an entity, the handler will be notified of the start of the DTD entity by calling the startParameterEntity method with the entity name "[dtd]" before calling the startDTD method.
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: XNIException Thrown by handler to signal an error.
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. augs Additional information that may include infoset augmentations.
Throws: XNIException Thrown by handler to signal an error.
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: XNIException Thrown by handler to signal an error.