net.sf.saxon.style

Class XSLTemplate

Implemented Interfaces:
Locator, Container, Locator, Serializable, Source, SourceLocator, FingerprintedNode, InstructionInfo, Item, LocationProvider, NamespaceResolver, NodeInfo, PullEvent, SaxonLocator, StylesheetProcedure, ValueRepresentation

public final class XSLTemplate
extends StyleElement
implements StylesheetProcedure

An xsl:template element in the style sheet.

Field Summary

Fields inherited from class net.sf.saxon.style.StyleElement

REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, defaultCollationName, defaultXPathNamespace, extensionNamespaces, reportingCircumstances, staticContext, validationError, version

Fields inherited from class net.sf.saxon.tree.ElementWithAttributes

attributeList, namespaceList

Fields inherited from class net.sf.saxon.tree.ElementImpl

nameCode, root

Fields inherited from class net.sf.saxon.tree.ParentNodeImpl

sequence

Fields inherited from class net.sf.saxon.tree.NodeImpl

NODE_LETTER, index, parent

Fields inherited from interface net.sf.saxon.om.NodeInfo

ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES

Fields inherited from interface net.sf.saxon.om.ValueRepresentation

EMPTY_VALUE_ARRAY

Method Summary

Expression
compile(Executable exec)
Compile: this registers the template with the rule manager, and ensures space is available for local variables
Template
getCompiledTemplate()
Get the compiled template
int
getConstructType()
Get the type of construct.
protected ItemType
getReturnedItemType()
Determine the type of item returned by this template
SlotManager
getSlotManager()
Get associated Procedure (for details of stack frame)
StructuredQName
getTemplateName()
Return the name of this template.
protected boolean
isPermittedChild(StyleElement child)
Specify that xsl:param is a permitted child
void
markTailCalls()
Mark tail-recursive calls on templates and functions.
boolean
mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-body
void
prepareAttributes()
void
validate()

Methods inherited from class net.sf.saxon.style.StyleElement

allocateLocationId, allocatePatternSlots, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compile, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, fixupReferences, forwardsCompatibleModeIsEnabled, getAllStylesheetFunctions, getAttributeSets, getAttributeValue, getCommonChildItemType, getConstructType, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getObjectName, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getReturnedItemType, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isInstruction, isPermittedChild, isTopLevel, issueWarning, issueWarning, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, mayContainSequenceConstructor, postValidate, prepareAttributes, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, replaceSubExpression, reportAbsence, setLineNumber, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validate, validateChildren, validateSubtree

Methods inherited from class net.sf.saxon.tree.ElementWithAttributes

copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, setNamespaceDeclarations

Methods inherited from class net.sf.saxon.tree.ElementImpl

copy, generateId, getAttributeList, getBaseURI, getDeclaredNamespaces, getDocumentRoot, getLineNumber, getNameCode, getNodeKind, getRoot, getSystemId, initialise, setLineNumber, setNameCode, setSystemId

Methods inherited from class net.sf.saxon.tree.ParentNodeImpl

addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, useChildrenArray

Methods inherited from class net.sf.saxon.tree.NodeImpl

atomize, compareOrder, equals, generateId, getAttributeValue, getBaseURI, getColumnNumber, getConfiguration, getDeclaredNamespaces, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getFirstChild, getLastChild, getLineNumber, getLocalPart, getNameCode, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getRoot, getSequenceNumber, getStringValueCS, getSystemId, getTypeAnnotation, getTypedValue, getURI, hasChildNodes, hashCode, isSameNodeInfo, iterateAxis, iterateAxis, setSystemId

Method Details

compile

public Expression compile(Executable exec)
            throws XPathException
Compile: this registers the template with the rule manager, and ensures space is available for local variables
Overrides:
compile in interface StyleElement

getCompiledTemplate

public Template getCompiledTemplate()
Get the compiled template
Returns:
the compiled template

getConstructType

public int getConstructType()
Specified by:
getConstructType in interface InstructionInfo
Overrides:
getConstructType in interface StyleElement

getReturnedItemType

protected ItemType getReturnedItemType()
Determine the type of item returned by this template
Overrides:
getReturnedItemType in interface StyleElement
Returns:
the item type returned

getSlotManager

public SlotManager getSlotManager()
Get associated Procedure (for details of stack frame)
Specified by:
getSlotManager in interface StylesheetProcedure

getTemplateName

public StructuredQName getTemplateName()
Return the name of this template. Note that this may be called before prepareAttributes has been called.
Returns:
the name of the template as a Structured QName.

isPermittedChild

protected boolean isPermittedChild(StyleElement child)
Specify that xsl:param is a permitted child
Overrides:
isPermittedChild in interface StyleElement

markTailCalls

public void markTailCalls()
Mark tail-recursive calls on templates and functions.
Overrides:
markTailCalls in interface StyleElement

mayContainSequenceConstructor

public boolean mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-body
Overrides:
mayContainSequenceConstructor in interface StyleElement
Returns:
true: yes, it may contain a template-body

prepareAttributes

public void prepareAttributes()
            throws XPathException
Overrides:
prepareAttributes in interface StyleElement

validate

public void validate()
            throws XPathException
Overrides:
validate in interface StyleElement