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 Patternprotected intprotected booleanprotected doubleprotected booleanprotected Procedureprotected intFields inherited from class StyleElement
attributeSets, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, versionFields inherited from class ElementWithAttributes
attributeList, namespaceListFields inherited from class ElementImpl
nameCode, rootFields inherited from class ParentNodeImpl
sequenceFields inherited from class NodeImpl
emptyArray, index, parentFields inherited from class AbstractNode
NODE_LETTERFields inherited from interface 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 voidExpand the template.intGet associated Procedure (for details of stack frame)intReturn the fingerprint for the name of this templatebooleanDetermine whether this type of element is allowed to contain a template-bodybooleanOptimization hint to allow a handler to declare that it needs no stack space for local variables and parametersvoidSet the attribute list for the element.voidPreprocess: this registers the template with the rule manager, and ensures space is available for local variablesvoidProcess template.voidProcess a node in the source document.protected voidtraceExpand(Context context) Expand the template, with tracing.voidvalidate()Check that the element is valid.Methods inherited from class 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, validateSubtreeMethods inherited from class 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, setNamespaceDeclarationsMethods inherited from class ElementImpl
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemIdMethods inherited from class ParentNodeImpl
addChild, compact, copyStringValue, dropChildren, enumerateChildren, getChildNodes, getFirstChild, getLastChild, getNodeValue, getNthChild, getSequenceNumber, getStringValue, hasChildNodes, removeChild, renumberChildren, useChildrenArrayMethods inherited from class NodeImpl
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNodeMethods inherited from class 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, supportsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNSMethods inherited from interface Locator
getColumnNumber, getLineNumber, getPublicId, getSystemIdMethods inherited from interface 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:
mayContainTemplateBodyin 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:NodeHandlerOptimization hint to allow a handler to declare that it needs no stack space for local variables and parameters- Specified by:
needsStackFramein interfaceNodeHandler
-
prepareAttributes
Description copied from class:StyleElementSet 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:
prepareAttributesin classStyleElement- Throws:
TransformerConfigurationException
-
validate
Description copied from class:StyleElementCheck 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:
validatein classStyleElement- Throws:
TransformerConfigurationException
-
preprocess
Preprocess: this registers the template with the rule manager, and ensures space is available for local variables- Overrides:
preprocessin 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:
processin 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:
startin 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:
bindVariablein 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)
-