xsl:call-template Element
A version of this page is also available for
4/8/2010
Invokes a template by name.
Syntax
<xsl:call-template
name = QName>
</xsl:call-template>
Attributes
- name
[required] Name of the template to be invoked.
Element Information
Number of occurrences |
Unlimited |
Parent elements |
xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:for-each, xsl:if, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, output elements |
Child elements |
xsl:with-param, output elements |
Remarks
The <xsl:call-template> enables you to invoke a named template — an <xsl:template> element — with an assigned name attribute. If an <xsl:template> element has a name attribute, it may, but need not, also have a match attribute. An <xsl:call-template> element invokes a template by name; it has a required name attribute that identifies the template to be invoked. Unlike <xsl:apply-templates>, <xsl:call-template> does not change the current node or the current node-list.
An error occurs if a style sheet contains more than one template with the same name.
An <xsl:call-template> element can contain any number of <xsl:with-param> elements. However, it cannot contain other XSLT elements.
Example
The following code example shows how the <xsl:call-template>
element is used:
<xsl:call-template name="sample"/>
causes the following template to execute:
<xsl:template name="sample" match="//bar">
<xsl:value-of select="."/>
</xsl:template>