public final class XSLTemplate extends StyleElement implements StylesheetProcedure
ACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version, YES_NONODE_LETTERALL_NAMESPACES, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES| Constructor and Description |
|---|
XSLTemplate() |
| Modifier and Type | Method and Description |
|---|---|
void |
compileDeclaration(Executable exec,
Declaration decl)
Compile: creates the executable form of the template
|
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 void |
index(Declaration decl,
PrincipalStylesheetModule top)
Method supplied by declaration elements to add themselves to a stylesheet-level index
|
boolean |
isDeclaration()
Ask whether this node is a declaration, that is, a permitted child of xsl:stylesheet
(including xsl:include and xsl:import).
|
protected boolean |
isPermittedChild(StyleElement child)
Specify that xsl:param is a permitted child
|
boolean |
markTailCalls()
Mark tail-recursive calls on templates and functions.
|
protected boolean |
mayContainParam(java.lang.String attName)
Determine whether this type of element is allowed to contain an xsl:param element
|
boolean |
mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-body
|
void |
optimize(Declaration declaration)
This method is a bit of a misnomer, because it does more than invoke optimization of the template body.
|
void |
postValidate()
Hook to allow additional validation of a parent element immediately after its
children have been validated.
|
void |
prepareAttributes()
Set the attribute list for the element.
|
void |
register(Declaration declaration)
Registers the template rule with each Mode that it belongs to.
|
void |
validate(Declaration decl)
Check that the stylesheet element is valid.
|
allocateLocationId, allocatePatternSlots, allocateSlots, bindLocalVariable, bindVariable, checkAttributeValue, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, compile, compileError, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, fixupReferences, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getColumnNumber, getCommonChildItemType, getContainerGranularity, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getEffectiveVersion, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getPreparedStylesheet, getPrincipalStylesheetModule, getProcessorVersion, getProperties, getProperty, getSchemaType, getStaticContext, getSystemId, getTypeAnnotation, getWithParamInstructions, isActionCompleted, isExcludedNamespace, isExplaining, isExtensionNamespace, isInstruction, issueWarning, issueWarning, isTopLevel, isXslt30Processor, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, mayContainFallback, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, seesAvuncularVariables, setActionCompleted, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree, xPath10ModeIsEnabledaddAttribute, addNamespace, copy, delete, fixupInsertedNamespaces, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getLineNumber, getNameCode, getNamespaceList, getNodeKind, getPrefixForURI, getRoot, getSchemaType, getSystemId, getTypeAnnotation, getURIForPrefix, gsetAttributeCollection, initialise, isId, isNilled, iteratePrefixes, removeAttribute, removeTypeAnnotation, rename, replaceStringValue, setAttributeList, setLocation, setNameCode, setNamespaceDeclarations, setNamespaceList, setSystemId, setTypeAnnotationaddChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, insertChildrenAt, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumberatomize, compareOrder, equals, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getRawParent, getSiblingPosition, getTypedValue, getURI, insertSiblings, isDeleted, isIdref, isSameNodeInfo, iterateAxis, iterateAxis, newBuilder, replace, setRawParent, setSiblingPositionclone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetLineNumber, getSystemIdpublic boolean isDeclaration()
isDeclaration in class StyleElementpublic boolean mayContainSequenceConstructor()
mayContainSequenceConstructor in class StyleElementprotected boolean mayContainParam(java.lang.String attName)
StyleElementmayContainParam in class StyleElementattName - if null, the method tests whether an xsl:param child is allowed.
If non-null, it tests whether an xsl:param child with the given attribute name is allowedprotected boolean isPermittedChild(StyleElement child)
isPermittedChild in class StyleElementchild - the child that may or may not be permittedpublic StructuredQName getTemplateName()
protected ItemType getReturnedItemType()
getReturnedItemType in class StyleElementpublic void prepareAttributes()
throws XPathException
StyleElementprepareAttributes in class StyleElementXPathException - if a static error is detectedpublic void validate(Declaration decl) throws XPathException
StyleElementvalidate in class StyleElementdecl - the declaration to be validatedXPathException - if any error is found during validationpublic void postValidate()
throws XPathException
StyleElementpostValidate in class StyleElementXPathException - if any error is found during post-traversal validationprotected void index(Declaration decl, PrincipalStylesheetModule top) throws XPathException
StyleElementindex in class StyleElementdecl - the Declaration being indexed. (This corresponds to the StyleElement object
except in cases where one module is imported several times with different precedence.)top - the outermost XSLStylesheet elementXPathException - if any error is encounteredpublic boolean markTailCalls()
markTailCalls in class StyleElementpublic void compileDeclaration(Executable exec, Declaration decl) throws XPathException
compileDeclaration in class StyleElementexec - the Executabledecl - the containing top-level declaration, for example xsl:function or xsl:templateXPathException - if compilation failspublic void register(Declaration declaration) throws XPathException
declaration - Associates this template with a stylesheet module (in principle an xsl:template
element can be in a document that is imported more than once; these are separate declarations)XPathExceptionpublic void optimize(Declaration declaration) throws XPathException
optimize in interface StylesheetProceduredeclaration - Associates this template with a stylesheet module (in principle an xsl:template
element can be in a document that is imported more than once; these are separate declarations)XPathExceptionpublic SlotManager getSlotManager()
getSlotManager in interface StylesheetProcedurepublic Template getCompiledTemplate()
public int getConstructType()
Location. This method is part of the InstructionInfo interfacegetConstructType in interface InstructionInfogetConstructType in class StyleElement