Class DTDGrammar
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.dtd.DTDGrammar
-
- All Implemented Interfaces:
EntityState
,Grammar
,XMLDTDContentModelHandler
,XMLDTDHandler
public class DTDGrammar extends Object implements XMLDTDHandler, XMLDTDContentModelHandler, EntityState, Grammar
A DTD grammar. This class implements the XNI handler interfaces for DTD information so that it can build the appropriate validation structures automatically from the callbacks.- Version:
- $Id$
- Author:
- Eric Ye, IBM, Jeffrey Rodriguez, IBM, Andy Clark, IBM, Neil Graham, IBM
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description 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
Fields Modifier and Type Field Description 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
fReadingExternalDTDstatic int
TOP_LEVEL_SCOPE
Top level scope (-1).-
Fields inherited from interface org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.XMLDTDContentModelHandler
OCCURS_ONE_OR_MORE, OCCURS_ZERO_OR_MORE, OCCURS_ZERO_OR_ONE, SEPARATOR_CHOICE, SEPARATOR_SEQUENCE
-
Fields inherited from interface org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.XMLDTDHandler
CONDITIONAL_IGNORE, CONDITIONAL_INCLUDE
-
-
Constructor Summary
Constructors Constructor Description DTDGrammar(SymbolTable symbolTable, XMLDTDDescription desc)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
addContentSpecNode(short nodeType, int leftNodeIndex, int rightNodeIndex)
Create an XMLContentSpec for a two child leafprotected int
addContentSpecNode(short nodeType, String nodeValue)
Create an XMLContentSpec for a single non-leafprotected void
addContentSpecToElement(XMLElementDecl elementDecl)
Adds the content spec to the given element declaration.protected int
addUniqueLeafNode(String elementName)
create an XMLContentSpec for a leafvoid
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()
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)
getAttributeDeclint
getAttributeDeclIndex(int elementDeclIndex, String attributeDeclName)
boolean
getAttributeDeclIsExternal(int attributeDeclIndex)
Returns true if the specified attribute declaration is external.boolean
getContentSpec(int contentSpecIndex, XMLContentSpec contentSpec)
getContentSpecString
getContentSpecAsString(int elementDeclIndex)
getContentSpecAsStringint
getContentSpecIndex(int elementDeclIndex)
Returns the index to the content spec for the given element declaration, or-1
if the element declaration index was invalid.short
getContentSpecType(int elementIndex)
make separate function for getting contentSpecType of element.XMLDTDContentModelSource
getDTDContentModelSource()
XMLDTDSource
getDTDSource()
protected ContentModelValidator
getElementContentModelValidator(int elementDeclIndex)
getElementContentModelValidatorboolean
getElementDecl(int elementDeclIndex, XMLElementDecl elementDecl)
getElementDeclint
getElementDeclIndex(String elementDeclName)
getElementDeclIndexint
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)
getEntityDeclint
getEntityDeclIndex(String entityDeclName)
getEntityDeclIndexint
getFirstAttributeDeclIndex(int elementDeclIndex)
getFirstAttributeDeclIndexint
getFirstElementDeclIndex()
Returns the index of the first element declaration.XMLGrammarDescription
getGrammarDescription()
get theXMLGrammarDescription
associated with this objectint
getNextAttributeDeclIndex(int attributeDeclIndex)
getNextAttributeDeclIndexint
getNextElementDeclIndex(int elementDeclIndex)
Returns the next index of the element declaration following the specified element declaration.boolean
getNotationDecl(int notationDeclIndex, XMLNotationDecl notationDecl)
getNotationDeclint
getNotationDeclIndex(String notationDeclName)
getNotationDeclIndexSymbolTable
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 notboolean
isEntityDeclared(String name)
Query method to check if entity with this name was declared.boolean
isEntityUnparsed(String name)
Query method to check if entity is unparsed.boolean
isNamespaceAware()
Returns true if this grammar is namespace aware.void
notationDecl(String name, XMLResourceIdentifier identifier, Augmentations augs)
A notation declarationvoid
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.
-
-
-
Field Detail
-
TOP_LEVEL_SCOPE
public static final int TOP_LEVEL_SCOPE
Top level scope (-1).- See Also:
- Constant Field Values
-
fDTDSource
protected XMLDTDSource fDTDSource
-
fDTDContentModelSource
protected XMLDTDContentModelSource fDTDContentModelSource
-
fCurrentElementIndex
protected int fCurrentElementIndex
Current element index.
-
fCurrentAttributeIndex
protected int fCurrentAttributeIndex
Current attribute index.
-
fReadingExternalDTD
protected boolean fReadingExternalDTD
fReadingExternalDTD
-
fGrammarDescription
protected XMLDTDDescription fGrammarDescription
-
fAttributeDecl
protected final XMLAttributeDecl fAttributeDecl
Temporary Attribute decl.
-
-
Constructor Detail
-
DTDGrammar
public DTDGrammar(SymbolTable symbolTable, XMLDTDDescription desc)
Default constructor.
-
-
Method Detail
-
getGrammarDescription
public XMLGrammarDescription getGrammarDescription()
Description copied from interface:Grammar
get theXMLGrammarDescription
associated with this object- Specified by:
getGrammarDescription
in interfaceGrammar
-
getElementDeclIsExternal
public boolean getElementDeclIsExternal(int elementDeclIndex)
Returns true if the specified element declaration is external.- Parameters:
elementDeclIndex
- The element declaration index.
-
getAttributeDeclIsExternal
public boolean getAttributeDeclIsExternal(int attributeDeclIndex)
Returns true if the specified attribute declaration is external.- Parameters:
attributeDeclIndex
- Attribute declaration index.
-
getAttributeDeclIndex
public int getAttributeDeclIndex(int elementDeclIndex, String attributeDeclName)
-
startDTD
public void startDTD(XMLLocator locator, Augmentations augs) throws XNIException
The start of the DTD.- Specified by:
startDTD
in interfaceXMLDTDHandler
- 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.
-
startParameterEntity
public void startParameterEntity(String name, XMLResourceIdentifier identifier, String encoding, Augmentations augs) throws 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.
- Specified by:
startParameterEntity
in interfaceXMLDTDHandler
- 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.
-
startExternalSubset
public void startExternalSubset(XMLResourceIdentifier identifier, Augmentations augs) throws XNIException
The start of the DTD external subset.- Specified by:
startExternalSubset
in interfaceXMLDTDHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.identifier
- The resource identifier.- Throws:
XNIException
- Thrown by handler to signal an error.
-
endParameterEntity
public void endParameterEntity(String name, Augmentations augs) throws 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.
- Specified by:
endParameterEntity
in interfaceXMLDTDHandler
- Parameters:
name
- The name of the entity.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
endExternalSubset
public void endExternalSubset(Augmentations augs) throws XNIException
The end of the DTD external subset.- Specified by:
endExternalSubset
in interfaceXMLDTDHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
elementDecl
public void elementDecl(String name, String contentModel, Augmentations augs) throws XNIException
An element declaration.- Specified by:
elementDecl
in interfaceXMLDTDHandler
- 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.
-
attributeDecl
public void attributeDecl(String elementName, String attributeName, String type, String[] enumeration, String defaultType, XMLString defaultValue, XMLString nonNormalizedDefaultValue, Augmentations augs) throws XNIException
An attribute declaration.- Specified by:
attributeDecl
in interfaceXMLDTDHandler
- 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.
-
internalEntityDecl
public void internalEntityDecl(String name, XMLString text, XMLString nonNormalizedText, Augmentations augs) throws XNIException
An internal entity declaration.- Specified by:
internalEntityDecl
in interfaceXMLDTDHandler
- 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.
-
externalEntityDecl
public void externalEntityDecl(String name, XMLResourceIdentifier identifier, Augmentations augs) throws XNIException
An external entity declaration.- Specified by:
externalEntityDecl
in interfaceXMLDTDHandler
- 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.
-
unparsedEntityDecl
public void unparsedEntityDecl(String name, XMLResourceIdentifier identifier, String notation, Augmentations augs) throws XNIException
An unparsed entity declaration.- Specified by:
unparsedEntityDecl
in interfaceXMLDTDHandler
- 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.
-
notationDecl
public void notationDecl(String name, XMLResourceIdentifier identifier, Augmentations augs) throws XNIException
A notation declaration- Specified by:
notationDecl
in interfaceXMLDTDHandler
- 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.
-
endDTD
public void endDTD(Augmentations augs) throws XNIException
The end of the DTD.- Specified by:
endDTD
in interfaceXMLDTDHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
setDTDSource
public void setDTDSource(XMLDTDSource source)
- Specified by:
setDTDSource
in interfaceXMLDTDHandler
-
getDTDSource
public XMLDTDSource getDTDSource()
- Specified by:
getDTDSource
in interfaceXMLDTDHandler
-
textDecl
public void textDecl(String version, String encoding, Augmentations augs) throws 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.
- Specified by:
textDecl
in interfaceXMLDTDHandler
- 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.
-
comment
public void comment(XMLString text, Augmentations augs) throws XNIException
A comment.- Specified by:
comment
in interfaceXMLDTDHandler
- Parameters:
text
- The text in the comment.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by application to signal an error.
-
processingInstruction
public void processingInstruction(String target, XMLString data, Augmentations augs) throws 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.
- Specified by:
processingInstruction
in interfaceXMLDTDHandler
- 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.
-
startAttlist
public void startAttlist(String elementName, Augmentations augs) throws XNIException
The start of an attribute list.- Specified by:
startAttlist
in interfaceXMLDTDHandler
- 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.
-
endAttlist
public void endAttlist(Augmentations augs) throws XNIException
The end of an attribute list.- Specified by:
endAttlist
in interfaceXMLDTDHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
startConditional
public void startConditional(short type, Augmentations augs) throws XNIException
The start of a conditional section.- Specified by:
startConditional
in interfaceXMLDTDHandler
- 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
-
ignoredCharacters
public void ignoredCharacters(XMLString text, Augmentations augs) throws XNIException
Characters within an IGNORE conditional section.- Specified by:
ignoredCharacters
in interfaceXMLDTDHandler
- Parameters:
text
- The ignored text.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
endConditional
public void endConditional(Augmentations augs) throws XNIException
The end of a conditional section.- Specified by:
endConditional
in interfaceXMLDTDHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
setDTDContentModelSource
public void setDTDContentModelSource(XMLDTDContentModelSource source)
- Specified by:
setDTDContentModelSource
in interfaceXMLDTDContentModelHandler
-
getDTDContentModelSource
public XMLDTDContentModelSource getDTDContentModelSource()
- Specified by:
getDTDContentModelSource
in interfaceXMLDTDContentModelHandler
-
startContentModel
public void startContentModel(String elementName, Augmentations augs) throws 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.- Specified by:
startContentModel
in interfaceXMLDTDContentModelHandler
- Parameters:
elementName
- The name of the element.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
startGroup
public void startGroup(Augmentations augs) throws XNIException
A start of either a mixed or children content model. A mixed content model will immediately be followed by a call to thepcdata()
method. A children content model will contain additional groups and/or elements.- Specified by:
startGroup
in interfaceXMLDTDContentModelHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.- See Also:
any(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.Augmentations)
,empty(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.Augmentations)
-
pcdata
public void pcdata(Augmentations augs) throws XNIException
The appearance of "#PCDATA" within a group signifying a mixed content model. This method will be the first called following the content model'sstartGroup()
.- Specified by:
pcdata
in interfaceXMLDTDContentModelHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.- See Also:
startGroup(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.Augmentations)
-
element
public void element(String elementName, Augmentations augs) throws XNIException
A referenced element in a mixed or children content model.- Specified by:
element
in interfaceXMLDTDContentModelHandler
- 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.
-
separator
public void separator(short separator, Augmentations augs) throws XNIException
The separator between choices or sequences of a mixed or children content model.- Specified by:
separator
in interfaceXMLDTDContentModelHandler
- 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:
XMLDTDContentModelHandler.SEPARATOR_CHOICE
,XMLDTDContentModelHandler.SEPARATOR_SEQUENCE
-
occurrence
public void occurrence(short occurrence, Augmentations augs) throws XNIException
The occurrence count for a child in a children content model or for the mixed content model group.- Specified by:
occurrence
in interfaceXMLDTDContentModelHandler
- 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:
XMLDTDContentModelHandler.OCCURS_ZERO_OR_ONE
,XMLDTDContentModelHandler.OCCURS_ZERO_OR_MORE
,XMLDTDContentModelHandler.OCCURS_ONE_OR_MORE
-
endGroup
public void endGroup(Augmentations augs) throws XNIException
The end of a group for mixed or children content models.- Specified by:
endGroup
in interfaceXMLDTDContentModelHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
any
public void any(Augmentations augs) throws XNIException
A content model of ANY.- Specified by:
any
in interfaceXMLDTDContentModelHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.- See Also:
empty(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.Augmentations)
,startGroup(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.Augmentations)
-
empty
public void empty(Augmentations augs) throws XNIException
A content model of EMPTY.- Specified by:
empty
in interfaceXMLDTDContentModelHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.- See Also:
any(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.Augmentations)
,startGroup(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.Augmentations)
-
endContentModel
public void endContentModel(Augmentations augs) throws XNIException
The end of a content model.- Specified by:
endContentModel
in interfaceXMLDTDContentModelHandler
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
isNamespaceAware
public boolean isNamespaceAware()
Returns true if this grammar is namespace aware.
-
getSymbolTable
public SymbolTable getSymbolTable()
Returns the symbol table.
-
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.
-
getNextElementDeclIndex
public int getNextElementDeclIndex(int elementDeclIndex)
Returns the next index of the element declaration following the specified element declaration.- Parameters:
elementDeclIndex
- The element declaration index.
-
getElementDeclIndex
public int getElementDeclIndex(String elementDeclName)
getElementDeclIndex- Parameters:
elementDeclName
-- Returns:
- index of the elementDeclName in scope
-
getElementDeclIndex
public int getElementDeclIndex(QName elementDeclQName)
Returns the element decl index.- Parameters:
elementDeclQName
- qualilfied name of the element
-
getContentSpecType
public short getContentSpecType(int elementIndex)
make separate function for getting contentSpecType of element. we can avoid setting of the element values.
-
getElementDecl
public boolean getElementDecl(int elementDeclIndex, XMLElementDecl elementDecl)
getElementDecl- Parameters:
elementDeclIndex
-elementDecl
- The values of this structure are set by this call.- Returns:
- True if find the element, False otherwise.
-
getFirstAttributeDeclIndex
public int getFirstAttributeDeclIndex(int elementDeclIndex)
getFirstAttributeDeclIndex- Parameters:
elementDeclIndex
-- Returns:
- index of the first attribute for element declaration elementDeclIndex
-
getNextAttributeDeclIndex
public int getNextAttributeDeclIndex(int attributeDeclIndex)
getNextAttributeDeclIndex- Parameters:
attributeDeclIndex
-- Returns:
- index of the next attribute of the attribute at attributeDeclIndex
-
getAttributeDecl
public boolean getAttributeDecl(int attributeDeclIndex, XMLAttributeDecl attributeDecl)
getAttributeDecl- 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
-
isCDATAAttribute
public boolean isCDATAAttribute(QName elName, QName atName)
Returns whether the given attribute is of type CDATA or not- Parameters:
elName
- The element name.atName
- The attribute name.- Returns:
- true if the attribute is of type CDATA
-
getEntityDeclIndex
public int getEntityDeclIndex(String entityDeclName)
getEntityDeclIndex- Parameters:
entityDeclName
-- Returns:
- the index of the EntityDecl
-
getEntityDecl
public boolean getEntityDecl(int entityDeclIndex, XMLEntityDecl entityDecl)
getEntityDecl- Parameters:
entityDeclIndex
-entityDecl
-- Returns:
- true if getEntityDecl was able to fill entityDecl with the contents of the entity with index entityDeclIndex
-
getNotationDeclIndex
public int getNotationDeclIndex(String notationDeclName)
getNotationDeclIndex- Parameters:
notationDeclName
-- Returns:
- the index if found a notation with the name, otherwise -1.
-
getNotationDecl
public boolean getNotationDecl(int notationDeclIndex, XMLNotationDecl notationDecl)
getNotationDecl- Parameters:
notationDeclIndex
-notationDecl
-- Returns:
- return true of getNotationDecl can fill notationDecl with information about the notation at notationDeclIndex.
-
getContentSpec
public boolean getContentSpec(int contentSpecIndex, XMLContentSpec contentSpec)
getContentSpec- Parameters:
contentSpecIndex
-contentSpec
-- Returns:
- true if find the requested contentSpec node, false otherwise
-
getContentSpecIndex
public int getContentSpecIndex(int elementDeclIndex)
Returns the index to the content spec for the given element declaration, or-1
if the element declaration index was invalid.
-
getContentSpecAsString
public String getContentSpecAsString(int elementDeclIndex)
getContentSpecAsString- Parameters:
elementDeclIndex
-- Returns:
- String
-
printElements
public void printElements()
-
printAttributes
public void printAttributes(int elementDeclIndex)
-
addContentSpecToElement
protected void addContentSpecToElement(XMLElementDecl elementDecl)
Adds the content spec to the given element declaration.
-
getElementContentModelValidator
protected ContentModelValidator getElementContentModelValidator(int elementDeclIndex)
getElementContentModelValidator- Parameters:
elementDeclIndex
-- Returns:
- its ContentModelValidator if any.
-
createElementDecl
protected int createElementDecl()
-
setElementDecl
protected void setElementDecl(int elementDeclIndex, XMLElementDecl elementDecl)
-
putElementNameMapping
protected void putElementNameMapping(QName name, int scope, int elementDeclIndex)
-
setFirstAttributeDeclIndex
protected void setFirstAttributeDeclIndex(int elementDeclIndex, int newFirstAttrIndex)
-
setContentSpecIndex
protected void setContentSpecIndex(int elementDeclIndex, int contentSpecIndex)
-
createAttributeDecl
protected int createAttributeDecl()
-
setAttributeDecl
protected void setAttributeDecl(int elementDeclIndex, int attributeDeclIndex, XMLAttributeDecl attributeDecl)
-
createContentSpec
protected int createContentSpec()
-
setContentSpec
protected void setContentSpec(int contentSpecIndex, XMLContentSpec contentSpec)
-
createEntityDecl
protected int createEntityDecl()
-
setEntityDecl
protected void setEntityDecl(int entityDeclIndex, XMLEntityDecl entityDecl)
-
createNotationDecl
protected int createNotationDecl()
-
setNotationDecl
protected void setNotationDecl(int notationDeclIndex, XMLNotationDecl notationDecl)
-
addContentSpecNode
protected int addContentSpecNode(short nodeType, String nodeValue)
Create an XMLContentSpec for a single non-leaf- Parameters:
nodeType
- the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*nodeValue
- handle to an XMLContentSpec- Returns:
- handle to the newly create XMLContentSpec
-
addUniqueLeafNode
protected int addUniqueLeafNode(String elementName)
create an XMLContentSpec for a leaf- Parameters:
elementName
- the name (Element) for the node- Returns:
- handle to the newly create XMLContentSpec
-
addContentSpecNode
protected int addContentSpecNode(short nodeType, int leftNodeIndex, int rightNodeIndex)
Create an XMLContentSpec for a two child leaf- Parameters:
nodeType
- the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*leftNodeIndex
- handle to an XMLContentSpecrightNodeIndex
- handle to an XMLContentSpec- Returns:
- handle to the newly create XMLContentSpec
-
initializeContentModelStack
protected void initializeContentModelStack()
Initialize content model stack.
-
isEntityDeclared
public boolean isEntityDeclared(String name)
Description copied from interface:EntityState
Query method to check if entity with this name was declared.- Specified by:
isEntityDeclared
in interfaceEntityState
- Returns:
- true if name is a declared entity
-
isEntityUnparsed
public boolean isEntityUnparsed(String name)
Description copied from interface:EntityState
Query method to check if entity is unparsed.- Specified by:
isEntityUnparsed
in interfaceEntityState
- Returns:
- true if name is an unparsed entity
-
-