|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.xerces.impl.validation.Grammar | +--org.apache.xerces.impl.validation.grammars.DTDGrammar
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.
Inner classes inherited from class org.apache.xerces.impl.validation.Grammar |
Grammar.TupleHashtable |
Field Summary | |
protected int |
fCurrentAttributeIndex
Current attribute index. |
protected int |
fCurrentElementIndex
Current element index. |
protected DatatypeValidatorFactory |
fDatatypeValidatorFactory
Datatype validator factory. |
protected boolean |
fReadingExternalDTD
fReadingExternalDTD |
Fields inherited from class org.apache.xerces.impl.validation.Grammar |
fAttributeDecl,
TOP_LEVEL_SCOPE |
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 | |
DTDGrammar(SymbolTable symbolTable)
Default constructor. |
Method Summary | |
protected int |
addContentSpecNode(short nodeType,
int leftNodeIndex,
int rightNodeIndex)
Create an XMLContentSpec for a two child leaf |
protected int |
addContentSpecNode(short nodeType,
java.lang.String nodeValue)
Create an XMLContentSpec for a single non-leaf |
protected int |
addUniqueLeafNode(java.lang.String elementName)
create an XMLContentSpec for a leaf |
void |
any()
A content model of ANY. |
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 |
characters(org.apache.xerces.xni.XMLString text)
Characters within an IGNORE conditional section. |
void |
comment(org.apache.xerces.xni.XMLString text)
A comment. |
void |
element(java.lang.String elementName)
A referenced element in a mixed or children content model. |
void |
elementDecl(java.lang.String name,
java.lang.String contentModel)
An element declaration. |
void |
empty()
A content model of EMPTY. |
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 |
endGroup()
The end of a group for mixed or children content models. |
protected boolean |
ensureAttributeDeclCapacity(int chunk)
Ensures storage for attribute declaration mappings. |
protected boolean |
ensureElementDeclCapacity(int chunk)
Ensures storage for element declaration mappings. |
void |
externalEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String baseSystemId)
An external entity declaration. |
int |
getAttributeDeclIndex(int elementDeclIndex,
java.lang.String attributeDeclName)
getAttributeDeclIndex |
boolean |
getAttributeDeclIsExternal(int attributeDeclIndex)
Returns true if the specified attribute declaration is external. |
int |
getElementDeclIndex(org.apache.xerces.xni.QName elementDeclQName,
int scope)
Returns the element decl index. |
boolean |
getElementDeclIsExternal(int elementDeclIndex)
Returns true if the specified element declaration is external. |
protected void |
initializeContentModelStack()
Initialize content model stack. |
void |
internalEntityDecl(java.lang.String name,
org.apache.xerces.xni.XMLString text)
An internal entity declaration. |
boolean |
isNamespaceAware()
Returns true if this grammar is namespace aware. |
void |
notationDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
A notation declaration |
void |
occurrence(short occurrence)
The occurrence count for a child in a children content model or for the mixed content model group. |
void |
pcdata()
The appearance of "#PCDATA" within a group signifying a mixed content model. |
void |
processingInstruction(java.lang.String target,
org.apache.xerces.xni.XMLString data)
A processing instruction. |
protected int[][] |
resize(int[][] array,
int newsize)
Resizes chunked integer arrays. |
void |
separator(short separator)
The separator between choices or sequences of a mixed or children content model. |
void |
setDatatypeValidatorFactory(DatatypeValidatorFactory factory)
Sets the datatype validator factory. |
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)
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 baseSystemId,
java.lang.String encoding)
This method notifies of the start of an entity. |
void |
startGroup()
A start of either a mixed or children content model. |
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 java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected DatatypeValidatorFactory fDatatypeValidatorFactory
protected int fCurrentElementIndex
protected int fCurrentAttributeIndex
protected boolean fReadingExternalDTD
Constructor Detail |
public DTDGrammar(SymbolTable symbolTable)
Method Detail |
public void setDatatypeValidatorFactory(DatatypeValidatorFactory factory)
public boolean getElementDeclIsExternal(int elementDeclIndex)
elementDeclIndex
- The element declaration index.public boolean getAttributeDeclIsExternal(int attributeDeclIndex)
attributeDeclIndex
- Attribute declaration index.public int getAttributeDeclIndex(int elementDeclIndex, java.lang.String attributeDeclName)
elementDeclIndex
- attributeDeclName
- public void startDTD(org.apache.xerces.xni.XMLLocator locator) throws org.apache.xerces.xni.XNIException
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.public void startEntity(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String baseSystemId, java.lang.String encoding) throws org.apache.xerces.xni.XNIException
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.
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.baseSystemId
- The base 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).public void endEntity(java.lang.String name) throws org.apache.xerces.xni.XNIException
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.
name
- The name of the entity.public void elementDecl(java.lang.String name, java.lang.String contentModel) throws org.apache.xerces.xni.XNIException
name
- The name of the element.contentModel
- The element content model.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
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.public void internalEntityDecl(java.lang.String name, org.apache.xerces.xni.XMLString text) throws org.apache.xerces.xni.XNIException
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.public void externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String baseSystemId) throws org.apache.xerces.xni.XNIException
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.baseSystemId
- The base system identifier of the entity if
the entity is external, null otherwise.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
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.public void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId) throws org.apache.xerces.xni.XNIException
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.public void endDTD() throws org.apache.xerces.xni.XNIException
public void textDecl(java.lang.String version, java.lang.String encoding) throws org.apache.xerces.xni.XNIException
Note: This method is only called for external parameter entities referenced in the DTD.
version
- The XML version, or null if not specified.encoding
- The IANA encoding name of the entity.public void comment(org.apache.xerces.xni.XMLString text) throws org.apache.xerces.xni.XNIException
text
- The text in the comment.public void processingInstruction(java.lang.String target, org.apache.xerces.xni.XMLString data) throws org.apache.xerces.xni.XNIException
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.
target
- The target.data
- The data or null if none specified.public void startAttlist(java.lang.String elementName) throws org.apache.xerces.xni.XNIException
elementName
- The name of the element that this attribute
list is associated with.public void endAttlist() throws org.apache.xerces.xni.XNIException
public void startConditional(short type) throws org.apache.xerces.xni.XNIException
type
- The type of the conditional section. This value will
either be CONDITIONAL_INCLUDE or CONDITIONAL_IGNORE.XMLDTDHandler.CONDITIONAL_INCLUDE
,
XMLDTDHandler.CONDITIONAL_IGNORE
public void characters(org.apache.xerces.xni.XMLString text) throws org.apache.xerces.xni.XNIException
text
- The ignored text.public void endConditional() throws org.apache.xerces.xni.XNIException
public void startContentModel(java.lang.String elementName) throws org.apache.xerces.xni.XNIException
elementName
- The name of the element.public void startGroup() throws org.apache.xerces.xni.XNIException
pcdata()
method. A children content model will
contain additional groups and/or elements.any()
,
empty()
public void pcdata() throws org.apache.xerces.xni.XNIException
startGroup()
.startGroup()
public void element(java.lang.String elementName) throws org.apache.xerces.xni.XNIException
elementName
- The name of the referenced element.public void separator(short separator) throws org.apache.xerces.xni.XNIException
separator
- The type of children separator.XMLDTDContentModelHandler.SEPARATOR_CHOICE
,
XMLDTDContentModelHandler.SEPARATOR_SEQUENCE
public void occurrence(short occurrence) throws org.apache.xerces.xni.XNIException
occurrence
- The occurrence count for the last element
or group.XMLDTDContentModelHandler.OCCURS_ZERO_OR_ONE
,
XMLDTDContentModelHandler.OCCURS_ZERO_OR_MORE
,
XMLDTDContentModelHandler.OCCURS_ONE_OR_MORE
public void endGroup() throws org.apache.xerces.xni.XNIException
public void any() throws org.apache.xerces.xni.XNIException
empty()
,
startGroup()
public void empty() throws org.apache.xerces.xni.XNIException
any()
,
startGroup()
public void endContentModel() throws org.apache.xerces.xni.XNIException
public boolean isNamespaceAware()
public int getElementDeclIndex(org.apache.xerces.xni.QName elementDeclQName, int scope)
elementDeclQName
- scope
- protected int addContentSpecNode(short nodeType, java.lang.String nodeValue)
nodeType
- the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*nodeValue
- handle to an XMLContentSpecprotected int addUniqueLeafNode(java.lang.String elementName)
elementName
- the name (Element) for the nodeprotected int addContentSpecNode(short nodeType, int leftNodeIndex, int rightNodeIndex)
nodeType
- the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*leftNodeIndex
- handle to an XMLContentSpecrightNodeIndex
- handle to an XMLContentSpecprotected void initializeContentModelStack()
protected boolean ensureElementDeclCapacity(int chunk)
protected boolean ensureAttributeDeclCapacity(int chunk)
protected int[][] resize(int[][] array, int newsize)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |