public class XSLTemplate extends StyleElement implements NodeHandler
Modifier and Type | Field and Description |
---|---|
protected Pattern |
match |
protected int |
modeNameCode |
protected boolean |
needsStackFrame |
protected double |
priority |
protected boolean |
prioritySpecified |
protected Procedure |
procedure |
protected int |
sequence |
protected int |
templateFingerprint |
attributeSets, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
attributeList, namespaceList
nameCode, root
emptyArray, index, parent
NODE_LETTER
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
Constructor and Description |
---|
XSLTemplate() |
Modifier and Type | Method and Description |
---|---|
void |
addChild(NodeImpl node,
int index)
Add a child node to this node.
|
Binding |
bindVariable(int fingerprint)
Disallow variable references in the match pattern
|
void |
compact(int size)
Compact the space used by this node
|
void |
copyStringValue(Outputter out)
Copy the string-value of this node to a given outputter
|
void |
dropChildren()
Drop a branch of the tree.
|
AxisEnumeration |
enumerateChildren(NodeTest test)
Get an enumeration of the children of this node
|
protected void |
expand(Context context)
Expand the template.
|
NodeList |
getChildNodes()
Return a
NodeList that contains all children of this node. |
Node |
getFirstChild()
Get the first child node of the element
|
Node |
getLastChild()
Get the last child node of the element
|
int |
getMinImportPrecedence() |
String |
getNodeValue()
Get the node value as defined in the DOM.
|
protected NodeImpl |
getNthChild(int n)
Get the nth child node of the element (numbering from 0)
|
Procedure |
getProcedure()
Get associated Procedure (for details of stack frame)
|
protected long |
getSequenceNumber()
Get the node sequence number (in document order).
|
String |
getStringValue()
Return the string-value of the node, that is, the concatenation
of the character content of all descendent elements and text nodes.
|
int |
getTemplateFingerprint()
Return the fingerprint for the name of this template
|
boolean |
hasChildNodes()
Determine if the node has any children.
|
boolean |
mayContainTemplateBody()
Determine whether this type of element is allowed to contain a template-body
|
boolean |
needsStackFrame()
Optimization hint to allow a handler to declare that it needs no stack space
for local variables and parameters
|
void |
prepareAttributes()
Set the attribute list for the element.
|
void |
preprocess()
Preprocess: this registers the template with the rule manager, and ensures
space is available for local variables
|
void |
process(Context context)
Process template.
|
void |
removeChild(int index)
Remove node at given index.
|
void |
renumberChildren()
Renumber the children of a given parent node.
|
void |
start(NodeInfo e,
Context context)
Process a node in the source document.
|
protected void |
traceExpand(Context context)
Expand the template, with tracing.
|
void |
useChildrenArray(NodeImpl[] array)
Supply an array to be used for the array of children.
|
void |
validate()
Check that the element is valid.
|
checkEmpty, checkNotTopLevel, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, definesExcludedNamespace, definesExtensionElement, doesPostProcessing, fallbackProcessing, findAttributeSets, forwardsCompatibleModeIsEnabled, getContainingStyleSheet, getPrecedence, getPreparedStyleSheet, getPrincipalStyleSheet, getStandardNames, getStyleSheetFunction, getVariableBinding, getVariableNames, getVersion, handleSortKeys, isExcludedNamespace, isExtensionNamespace, isInstruction, isTopLevel, makeAttributeValueTemplate, makeExpression, makePattern, processAllAttributes, processAttributes, processAttributeSets, processChildren, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setValidationError, styleError, styleError, substituteFor, validateChildren, validateSubtree
addNamespaceNodes, copy, getAttribute, getAttributeList, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributeValue, getAttributeValue, getAttributeValue, getLength, getNamedItem, getNamedItemNS, getNamespaceCodes, getPrefixForURI, getURICodeForPrefix, hasAttribute, hasAttributeNS, hasAttributes, initialise, item, outputNamespaceNodes, removeAttribute, removeAttributeNode, removeAttributeNS, removeNamedItem, removeNamedItemNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setNamedItem, setNamedItemNS, setNamespaceDeclarations
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemId
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNode
appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getColumnNumber, getData, getDoctype, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getName, getNamespaceURI, getNodeName, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSchemaTypeInfo, getSpecified, getTagName, getTextContent, getUserData, getValue, getWholeText, importNode, insertBefore, insertData, isDefaultNamespace, isElementContentWhitespace, isEqualNode, isId, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, replaceData, replaceWholeText, setData, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setNodeValue, setPrefix, setTextContent, setUserData, setValue, splitText, substringData, supports
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getColumnNumber, getLineNumber, getPublicId, getSystemId
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNS
appendChild, cloneNode, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
protected int modeNameCode
protected int templateFingerprint
protected Pattern match
protected boolean prioritySpecified
protected double priority
protected Procedure procedure
protected boolean needsStackFrame
protected int sequence
public boolean mayContainTemplateBody()
mayContainTemplateBody
in class StyleElement
public int getTemplateFingerprint()
public int getMinImportPrecedence()
public boolean needsStackFrame()
NodeHandler
needsStackFrame
in interface NodeHandler
public void prepareAttributes() throws TransformerConfigurationException
StyleElement
prepareAttributes
in class StyleElement
TransformerConfigurationException
public void validate() throws TransformerConfigurationException
StyleElement
validate
in class StyleElement
TransformerConfigurationException
public void preprocess() throws TransformerConfigurationException
preprocess
in class StyleElement
TransformerConfigurationException
public void process(Context context) throws TransformerException
process
in class StyleElement
context
- The context in the source XML document, giving access to the current node,
the current variables, etc.TransformerException
public void start(NodeInfo e, Context context) throws TransformerException
start
in interface NodeHandler
e
- The NodeInfo object for the current node.TransformerException
NodeInfo
protected void traceExpand(Context context) throws TransformerException
TransformerException
protected void expand(Context context) throws TransformerException
TransformerException
public Binding bindVariable(int fingerprint) throws XPathException
bindVariable
in class StyleElement
fingerprint
- The fingerprint of the name of the variableXPathException
- if the variable has not been declaredpublic Procedure getProcedure()
protected final long getSequenceNumber()
getSequenceNumber
in class NodeImpl
public final boolean hasChildNodes()
hasChildNodes
in interface NodeInfo
hasChildNodes
in interface Node
hasChildNodes
in class NodeImpl
true
if the node has any children,
false
if the node has no children.public final AxisEnumeration enumerateChildren(NodeTest test)
public final Node getFirstChild()
getFirstChild
in interface Node
getFirstChild
in class NodeImpl
public final Node getLastChild()
getLastChild
in interface Node
getLastChild
in class NodeImpl
public final NodeList getChildNodes()
NodeList
that contains all children of this node. If
there are no children, this is a NodeList
containing no
nodes.getChildNodes
in interface Node
getChildNodes
in class NodeImpl
protected final NodeImpl getNthChild(int n)
public String getStringValue()
public void copyStringValue(Outputter out) throws TransformerException
copyStringValue
in interface NodeInfo
copyStringValue
in class AbstractNode
TransformerException
public void useChildrenArray(NodeImpl[] array)
public void addChild(NodeImpl node, int index)
public void removeChild(int index)
public void renumberChildren()
public void dropChildren()
public void compact(int size)
public String getNodeValue()
getNodeValue
in interface Node
getNodeValue
in class AbstractNode