A DTD grammar. This class implements the XNI handler interfaces
for DTD information so that it can build the approprate validation
structures automatically from the callbacks.
addContentSpecNode
protected int addContentSpecNode(short nodeType,
String nodeValue)
Create an XMLContentSpec for a single non-leaf
nodeType
- the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*nodeValue
- handle to an XMLContentSpec
- handle to the newly create XMLContentSpec
addContentSpecNode
protected int addContentSpecNode(short nodeType,
int leftNodeIndex,
int rightNodeIndex)
Create an XMLContentSpec for a two child leaf
nodeType
- the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*leftNodeIndex
- handle to an XMLContentSpecrightNodeIndex
- handle to an XMLContentSpec
- handle to the newly create XMLContentSpec
addUniqueLeafNode
protected int addUniqueLeafNode(String elementName)
create an XMLContentSpec for a leaf
elementName
- the name (Element) for the node
- handle to the newly create XMLContentSpec
any
public void any(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
A content model of ANY.
- any in interface org.apache.xerces.xni.XMLDTDContentModelHandler
augs
- Additional information that may include infoset
augmentations.
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 augs)
throws org.apache.xerces.xni.XNIException
An attribute declaration.
- attributeDecl in interface org.apache.xerces.xni.XMLDTDHandler
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.
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 augs)
throws org.apache.xerces.xni.XNIException
A comment.
- comment in interface org.apache.xerces.xni.XMLDTDHandler
text
- The text in the comment.augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by application to signal an error.
createAttributeDecl
protected int createAttributeDecl()
createContentSpec
protected int createContentSpec()
createElementDecl
protected int createElementDecl()
createEntityDecl
protected int createEntityDecl()
createNotationDecl
protected int createNotationDecl()
element
public void element(String elementName,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
A referenced element in a mixed or children content model.
- element in interface org.apache.xerces.xni.XMLDTDContentModelHandler
elementName
- The name of the referenced element.augs
- Additional information that may include infoset
augmentations.
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 augs)
throws org.apache.xerces.xni.XNIException
An element declaration.
- elementDecl in interface org.apache.xerces.xni.XMLDTDHandler
name
- The name of the element.contentModel
- The element content model.augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
empty
public void empty(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
A content model of EMPTY.
- empty in interface org.apache.xerces.xni.XMLDTDContentModelHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
endAttlist
public void endAttlist(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The end of an attribute list.
- endAttlist in interface org.apache.xerces.xni.XMLDTDHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
endConditional
public void endConditional(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The end of a conditional section.
- endConditional in interface org.apache.xerces.xni.XMLDTDHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
endContentModel
public void endContentModel(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The end of a content model.
- endContentModel in interface org.apache.xerces.xni.XMLDTDContentModelHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
endDTD
public void endDTD(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The end of the DTD.
- endDTD in interface org.apache.xerces.xni.XMLDTDHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
endExternalSubset
public void endExternalSubset(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The end of the DTD external subset.
- endExternalSubset in interface org.apache.xerces.xni.XMLDTDHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
endGroup
public void endGroup(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The end of a group for mixed or children content models.
- endGroup in interface org.apache.xerces.xni.XMLDTDContentModelHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
endParameterEntity
public void endParameterEntity(String name,
org.apache.xerces.xni.Augmentations augs)
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.
- endParameterEntity in interface org.apache.xerces.xni.XMLDTDHandler
name
- The name of the entity.augs
- Additional information that may include infoset
augmentations.
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 augs)
throws org.apache.xerces.xni.XNIException
An external entity declaration.
- externalEntityDecl in interface org.apache.xerces.xni.XMLDTDHandler
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.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
getAttributeDecl
public boolean getAttributeDecl(int attributeDeclIndex,
XMLAttributeDecl attributeDecl)
getAttributeDecl
attributeDeclIndex
- attributeDecl
- The values of this structure are set by this call.
- true if getAttributeDecl was able to fill in the value of attributeDecl
getAttributeDeclIndex
public int getAttributeDeclIndex(int elementDeclIndex,
String attributeDeclName)
getAttributeDeclIsExternal
public boolean getAttributeDeclIsExternal(int attributeDeclIndex)
Returns true if the specified attribute declaration is external.
attributeDeclIndex
- Attribute declaration index.
getContentSpec
public boolean getContentSpec(int contentSpecIndex,
XMLContentSpec contentSpec)
getContentSpec
contentSpecIndex
- contentSpec
-
- true if find the requested contentSpec node, false otherwise
getContentSpecAsString
public String getContentSpecAsString(int elementDeclIndex)
getContentSpecAsString
getContentSpecType
public short getContentSpecType(int elementIndex)
make separate function for getting contentSpecType of element.
we can avoid setting of the element values.
getDTDContentModelSource
public org.apache.xerces.xni.parser.XMLDTDContentModelSource getDTDContentModelSource()
- getDTDContentModelSource in interface org.apache.xerces.xni.XMLDTDContentModelHandler
getDTDSource
public org.apache.xerces.xni.parser.XMLDTDSource getDTDSource()
- getDTDSource in interface org.apache.xerces.xni.XMLDTDHandler
getElementContentModelValidator
protected ContentModelValidator getElementContentModelValidator(int elementDeclIndex)
getElementContentModelValidator
- its ContentModelValidator if any.
getElementDecl
public boolean getElementDecl(int elementDeclIndex,
XMLElementDecl elementDecl)
getElementDecl
elementDeclIndex
- elementDecl
- The values of this structure are set by this call.
- True if find the element, False otherwise.
getElementDeclIndex
public int getElementDeclIndex(String elementDeclName)
getElementDeclIndex
- index of the elementDeclName in scope
getElementDeclIndex
public int getElementDeclIndex(org.apache.xerces.xni.QName elementDeclQName)
Returns the element decl index.
elementDeclQName
- qualilfied name of the element
getElementDeclIsExternal
public boolean getElementDeclIsExternal(int elementDeclIndex)
Returns true if the specified element declaration is external.
elementDeclIndex
- The element declaration index.
getEntityDecl
public boolean getEntityDecl(int entityDeclIndex,
XMLEntityDecl entityDecl)
getEntityDecl
entityDeclIndex
- entityDecl
-
- true if getEntityDecl was able to fill entityDecl with the contents of the entity
with index entityDeclIndex
getEntityDeclIndex
public int getEntityDeclIndex(String entityDeclName)
getEntityDeclIndex
- the index of the EntityDecl
getFirstAttributeDeclIndex
public int getFirstAttributeDeclIndex(int elementDeclIndex)
getFirstAttributeDeclIndex
- index of the first attribute for element declaration elementDeclIndex
getFirstElementDeclIndex
public int getFirstElementDeclIndex()
Returns the index of the first element declaration. This index
is then used to query more information about the element declaration.
getGrammarDescription
public org.apache.xerces.xni.grammars.XMLGrammarDescription getGrammarDescription()
- getGrammarDescription in interface org.apache.xerces.xni.grammars.Grammar
getNextAttributeDeclIndex
public int getNextAttributeDeclIndex(int attributeDeclIndex)
getNextAttributeDeclIndex
- index of the next attribute of the attribute at attributeDeclIndex
getNextElementDeclIndex
public int getNextElementDeclIndex(int elementDeclIndex)
Returns the next index of the element declaration following the
specified element declaration.
elementDeclIndex
- The element declaration index.
getNotationDecl
public boolean getNotationDecl(int notationDeclIndex,
XMLNotationDecl notationDecl)
getNotationDecl
notationDeclIndex
- notationDecl
-
- return true of getNotationDecl can fill notationDecl with information about
the notation at notationDeclIndex.
getNotationDeclIndex
public int getNotationDeclIndex(String notationDeclName)
getNotationDeclIndex
- the index if found a notation with the name, otherwise -1.
getSymbolTable
public SymbolTable getSymbolTable()
Returns the symbol table.
ignoredCharacters
public void ignoredCharacters(org.apache.xerces.xni.XMLString text,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
Characters within an IGNORE conditional section.
- ignoredCharacters in interface org.apache.xerces.xni.XMLDTDHandler
text
- The ignored text.augs
- Additional information that may include infoset
augmentations.
initializeContentModelStack
protected void initializeContentModelStack()
Initialize content model stack.
internalEntityDecl
public void internalEntityDecl(String name,
org.apache.xerces.xni.XMLString text,
org.apache.xerces.xni.XMLString nonNormalizedText,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
An internal entity declaration.
- internalEntityDecl in interface org.apache.xerces.xni.XMLDTDHandler
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.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
isCDATAAttribute
public boolean isCDATAAttribute(org.apache.xerces.xni.QName elName,
org.apache.xerces.xni.QName atName)
Returns whether the given attribute is of type CDATA or not
elName
- The element name.atName
- The attribute name.
- true if the attribute is of type CDATA
isEntityDeclared
public boolean isEntityDeclared(String name)
Query method to check if entity with this name was declared.
- isEntityDeclared in interface EntityState
- true if name is a declared entity
isEntityUnparsed
public boolean isEntityUnparsed(String name)
Query method to check if entity is unparsed.
- isEntityUnparsed in interface EntityState
- true if name is an unparsed entity
isNamespaceAware
public boolean isNamespaceAware()
Returns true if this grammar is namespace aware.
notationDecl
public void notationDecl(String name,
org.apache.xerces.xni.XMLResourceIdentifier identifier,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
A notation declaration
- notationDecl in interface org.apache.xerces.xni.XMLDTDHandler
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.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
occurrence
public void occurrence(short occurrence,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The occurrence count for a child in a children content model or
for the mixed content model group.
- occurrence in interface org.apache.xerces.xni.XMLDTDContentModelHandler
occurrence
- The occurrence count for the last element
or group.augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
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
pcdata
public void pcdata(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The appearance of "#PCDATA" within a group signifying a
mixed content model. This method will be the first called
following the content model's startGroup()
.
- pcdata in interface org.apache.xerces.xni.XMLDTDContentModelHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
printAttributes
public void printAttributes(int elementDeclIndex)
printElements
public void printElements()
processingInstruction
public void processingInstruction(String target,
org.apache.xerces.xni.XMLString data,
org.apache.xerces.xni.Augmentations augs)
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.
- processingInstruction in interface org.apache.xerces.xni.XMLDTDHandler
target
- The target.data
- The data or null if none specified.augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
putElementNameMapping
protected void putElementNameMapping(org.apache.xerces.xni.QName name,
int scope,
int elementDeclIndex)
separator
public void separator(short separator,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The separator between choices or sequences of a mixed or children
content model.
- separator in interface org.apache.xerces.xni.XMLDTDContentModelHandler
separator
- The type of children separator.augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
org.apache.xerces.xni.XMLDTDContentModelHandler.SEPARATOR_CHOICE
, org.apache.xerces.xni.XMLDTDContentModelHandler.SEPARATOR_SEQUENCE
setAttributeDecl
protected void setAttributeDecl(int elementDeclIndex,
int attributeDeclIndex,
XMLAttributeDecl attributeDecl)
setContentSpec
protected void setContentSpec(int contentSpecIndex,
XMLContentSpec contentSpec)
setContentSpecIndex
protected void setContentSpecIndex(int elementDeclIndex,
int contentSpecIndex)
setDTDContentModelSource
public void setDTDContentModelSource(org.apache.xerces.xni.parser.XMLDTDContentModelSource source)
- setDTDContentModelSource in interface org.apache.xerces.xni.XMLDTDContentModelHandler
setDTDSource
public void setDTDSource(org.apache.xerces.xni.parser.XMLDTDSource source)
- setDTDSource in interface org.apache.xerces.xni.XMLDTDHandler
setElementDecl
protected void setElementDecl(int elementDeclIndex,
XMLElementDecl elementDecl)
setEntityDecl
protected void setEntityDecl(int entityDeclIndex,
XMLEntityDecl entityDecl)
setFirstAttributeDeclIndex
protected void setFirstAttributeDeclIndex(int elementDeclIndex,
int newFirstAttrIndex)
setNotationDecl
protected void setNotationDecl(int notationDeclIndex,
XMLNotationDecl notationDecl)
startAttlist
public void startAttlist(String elementName,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The start of an attribute list.
- startAttlist in interface org.apache.xerces.xni.XMLDTDHandler
elementName
- The name of the element that this attribute
list is associated with.augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
startConditional
public void startConditional(short type,
org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
The start of a conditional section.
- startConditional in interface org.apache.xerces.xni.XMLDTDHandler
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.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
XMLDTDHandler.CONDITIONAL_INCLUDE
, XMLDTDHandler.CONDITIONAL_IGNORE
startContentModel
public void startContentModel(String elementName,
org.apache.xerces.xni.Augmentations augs)
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.
- startContentModel in interface org.apache.xerces.xni.XMLDTDContentModelHandler
elementName
- The name of the element.augs
- Additional information that may include infoset
augmentations.
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 augs)
throws org.apache.xerces.xni.XNIException
The start of the DTD.
- startDTD in interface org.apache.xerces.xni.XMLDTDHandler
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.
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 augs)
throws org.apache.xerces.xni.XNIException
The start of the DTD external subset.
- startExternalSubset in interface org.apache.xerces.xni.XMLDTDHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
startGroup
public void startGroup(org.apache.xerces.xni.Augmentations augs)
throws org.apache.xerces.xni.XNIException
A start of either a mixed or children content model. A mixed
content model will immediately be followed by a call to the
pcdata()
method. A children content model will
contain additional groups and/or elements.
- startGroup in interface org.apache.xerces.xni.XMLDTDContentModelHandler
augs
- Additional information that may include infoset
augmentations.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
startParameterEntity
public void startParameterEntity(String name,
org.apache.xerces.xni.XMLResourceIdentifier identifier,
String encoding,
org.apache.xerces.xni.Augmentations augs)
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
startParameterEntity method with the entity name "[dtd]"
before calling
the startDTD method.
- startParameterEntity in interface org.apache.xerces.xni.XMLDTDHandler
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.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.
textDecl
public void textDecl(String version,
String encoding,
org.apache.xerces.xni.Augmentations augs)
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.
- textDecl in interface org.apache.xerces.xni.XMLDTDHandler
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.
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 augs)
throws org.apache.xerces.xni.XNIException
An unparsed entity declaration.
- unparsedEntityDecl in interface org.apache.xerces.xni.XMLDTDHandler
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.
org.apache.xerces.xni.XNIException
- Thrown by handler to signal an error.