xsl:call-template Element (Compact 2013)

3/26/2014

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>

See Also

Reference

XSLT Elements
xsl:template Element