public class NamedTemplate extends Actor
Note that the Template object no longer has precedence information associated with it; this is now only in the Rule object that references this Template. This allows two rules to share the same template, with different precedences. This occurs when a stylesheet module is imported more than once, from different places, with different import precedences.
From Saxon 9.7, the NamedTemplate and TemplateRule objects are separated. A NamedTemplate represents a template with a name attribute; a TemplateRule is a template with a match attribute. If an xsl:template declaration has both attributes, two objects are created.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | NamedTemplate.LocalParamInfo | 
| Constructor and Description | 
|---|
| NamedTemplate(StructuredQName templateName)Create a named template | 
| Modifier and Type | Method and Description | 
|---|---|
| TailCall | expand(XPathContext context)Expand the template. | 
| void | explainProperties(ExpressionPresenter presenter) | 
| void | export(ExpressionPresenter presenter)Output diagnostic explanation to an ExpressionPresenter | 
| int | getComponentKind()Get the kind of component that this represents, using integer constants such as
  StandardNames.XSL_FUNCTION | 
| int | getConstructType()Get the type of construct. | 
| java.util.List<NamedTemplate.LocalParamInfo> | getLocalParamDetails() | 
| NamedTemplate.LocalParamInfo | getLocalParamInfo(StructuredQName id)Get the local parameter with a given parameter id | 
| StructuredQName | getObjectName()Get a name identifying the object of the expression, for example a function name, template name,
 variable name, key name, element name, etc. | 
| ItemType | getRequiredContextItemType() | 
| SequenceType | getRequiredType()Get the required type to be returned by this template | 
| SymbolicName | getSymbolicName()Get the symbolic name of the component | 
| StructuredQName | getTemplateName()Get the name of the template (if it is named) | 
| boolean | hasRequiredParams()Ask whether this template has one or more required parameters | 
| boolean | isAbsentFocus() | 
| boolean | isMayOmitContextItem() | 
| void | setBody(Expression body)Set the expression that forms the body of the template | 
| void | setContextItemRequirements(ItemType type,
                          boolean mayBeOmitted,
                          boolean absentFocus)Set the required context item type. | 
| void | setHasRequiredParams(boolean has)Set whether this template has one or more required parameters | 
| void | setLocalParamDetails(java.util.List<NamedTemplate.LocalParamInfo> details) | 
| void | setRequiredType(SequenceType type)Set the required type to be returned by this template | 
| void | setTemplateName(StructuredQName templateName)Initialize the template | 
allocateAllBindingSlots, allocateBindingSlotsRecursive, getBody, getColumnNumber, getDeclaredVisibility, getDeclaringComponent, getLineNumber, getLocation, getPackageData, getProperties, getProperty, getPublicId, getRetainedStaticContext, getStackFrameMap, getSystemId, isExportable, makeDeclaringComponent, obtainDeclaringComponent, saveLocation, setChildExpression, setDeclaredVisibility, setDeclaringComponent, setLineNumber, setPackageData, setRetainedStaticContext, setStackFrameMap, setSystemIdpublic NamedTemplate(StructuredQName templateName)
public void setTemplateName(StructuredQName templateName)
templateName - the name of the template (if any)
                     performed by apply-importspublic void setContextItemRequirements(ItemType type, boolean mayBeOmitted, boolean absentFocus)
type - the required context item typemayBeOmitted - true if the context item may be absentabsentFocus - true if the context item is treated as absent even if supplied (use=absent)public int getComponentKind()
ActorStandardNames.XSL_FUNCTIONgetComponentKind in class Actorpublic SymbolicName getSymbolicName()
ActorgetSymbolicName in class Actorpublic void setBody(Expression body)
public StructuredQName getTemplateName()
public StructuredQName getObjectName()
public void setHasRequiredParams(boolean has)
has - true if the template has at least one required parameterpublic boolean hasRequiredParams()
public void setRequiredType(SequenceType type)
type - the required type as defined in the "as" attribute on the xsl:template elementpublic SequenceType getRequiredType()
public ItemType getRequiredContextItemType()
public boolean isMayOmitContextItem()
public boolean isAbsentFocus()
public NamedTemplate.LocalParamInfo getLocalParamInfo(StructuredQName id)
id - the parameter idpublic TailCall expand(XPathContext context) throws XPathException
context - the XPath dynamic contextXPathException - if a dynamic error occurs while evaluating
                                           the templatepublic int getConstructType()
StandardNames: all less than 1024)
 or it will be a constant in class LocationKind.public void export(ExpressionPresenter presenter) throws XPathException
export in class Actorpresenter - the expression presenter used to generate the XML representation of the structureXPathExceptionpublic void explainProperties(ExpressionPresenter presenter) throws XPathException
XPathExceptionpublic void setLocalParamDetails(java.util.List<NamedTemplate.LocalParamInfo> details)
public java.util.List<NamedTemplate.LocalParamInfo> getLocalParamDetails()
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.