Package com.icl.saxon.style
Class XSLTemplate
- All Implemented Interfaces:
NodeHandler
,NodeInfo
,DOMLocator
,Source
,SourceLocator
,Element
,NamedNodeMap
,Node
,Locator
- Direct Known Subclasses:
SAXONHandler
An xsl:template element in the style sheet.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Pattern
protected int
protected boolean
protected double
protected boolean
protected Procedure
protected int
Fields inherited from class com.icl.saxon.style.StyleElement
attributeSets, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
Fields inherited from class com.icl.saxon.tree.ElementWithAttributes
attributeList, namespaceList
Fields inherited from class com.icl.saxon.tree.ElementImpl
nameCode, root
Fields inherited from class com.icl.saxon.tree.ParentNodeImpl
sequence
Fields inherited from class com.icl.saxon.tree.NodeImpl
emptyArray, index, parent
Fields inherited from class com.icl.saxon.om.AbstractNode
NODE_LETTER
Fields inherited from interface org.w3c.dom.Node
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbindVariable
(int fingerprint) Disallow variable references in the match patternprotected void
Expand the template.int
Get associated Procedure (for details of stack frame)int
Return the fingerprint for the name of this templateboolean
Determine whether this type of element is allowed to contain a template-bodyboolean
Optimization hint to allow a handler to declare that it needs no stack space for local variables and parametersvoid
Set the attribute list for the element.void
Preprocess: this registers the template with the rule manager, and ensures space is available for local variablesvoid
Process template.void
Process a node in the source document.protected void
traceExpand
(Context context) Expand the template, with tracing.void
validate()
Check that the element is valid.Methods inherited from class com.icl.saxon.style.StyleElement
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
Methods inherited from class com.icl.saxon.tree.ElementWithAttributes
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
Methods inherited from class com.icl.saxon.tree.ElementImpl
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemId
Methods inherited from class com.icl.saxon.tree.ParentNodeImpl
addChild, compact, copyStringValue, dropChildren, enumerateChildren, getChildNodes, getFirstChild, getLastChild, getNodeValue, getNthChild, getSequenceNumber, getStringValue, hasChildNodes, removeChild, renumberChildren, useChildrenArray
Methods inherited from class com.icl.saxon.tree.NodeImpl
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNode
Methods inherited from class com.icl.saxon.om.AbstractNode
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNS
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getLineNumber, getPublicId, getSystemId
Methods inherited from interface org.w3c.dom.Node
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
-
Field Details
-
modeNameCode
protected int modeNameCode -
templateFingerprint
protected int templateFingerprint -
match
-
prioritySpecified
protected boolean prioritySpecified -
priority
protected double priority -
procedure
-
needsStackFrame
protected boolean needsStackFrame
-
-
Constructor Details
-
XSLTemplate
public XSLTemplate()
-
-
Method Details
-
mayContainTemplateBody
public boolean mayContainTemplateBody()Determine whether this type of element is allowed to contain a template-body- Overrides:
mayContainTemplateBody
in classStyleElement
- Returns:
- true: yes, it may contain a template-body
-
getTemplateFingerprint
public int getTemplateFingerprint()Return the fingerprint for the name of this template -
getMinImportPrecedence
public int getMinImportPrecedence() -
needsStackFrame
public boolean needsStackFrame()Description copied from interface:NodeHandler
Optimization hint to allow a handler to declare that it needs no stack space for local variables and parameters- Specified by:
needsStackFrame
in interfaceNodeHandler
-
prepareAttributes
Description copied from class:StyleElement
Set the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass- Specified by:
prepareAttributes
in classStyleElement
- Throws:
TransformerConfigurationException
-
validate
Description copied from class:StyleElement
Check that the element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.- Overrides:
validate
in classStyleElement
- Throws:
TransformerConfigurationException
-
preprocess
Preprocess: this registers the template with the rule manager, and ensures space is available for local variables- Overrides:
preprocess
in classStyleElement
- Throws:
TransformerConfigurationException
-
process
Process template. This is called while all the top-level nodes are being processed in order, so it does nothing.- Specified by:
process
in classStyleElement
- Parameters:
context
- The context in the source XML document, giving access to the current node, the current variables, etc.- Throws:
TransformerException
-
start
Process a node in the source document. This is called when the template is invoked using xsl:apply-templates.- Specified by:
start
in interfaceNodeHandler
- Parameters:
e
- The NodeInfo object for the current node.- Throws:
TransformerException
- See Also:
-
traceExpand
Expand the template, with tracing. Called when the template is invoked either by xsl:apply-templates or from xsl:call-template- Throws:
TransformerException
-
expand
Expand the template. Called when the template is invoked either by xsl:apply-templates or from xsl:call-template- Throws:
TransformerException
-
bindVariable
Disallow variable references in the match pattern- Overrides:
bindVariable
in classStyleElement
- Parameters:
fingerprint
- The fingerprint of the name of the variable- Returns:
- a Binding for the variable
- Throws:
XPathException
- if the variable has not been declared
-
getProcedure
Get associated Procedure (for details of stack frame)
-