Invokes a template by name.
<xsl:call-template name = QName> </xsl:call-template>
| Number of occurrences | Unlimited |
| Parent elements | xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, output elements |
| Child elements | xsl:with-param |
The <xsl:call-template> enables you to invoke a named templatethat is, an <xsl:template> elementthat has an assigned name attribute. If an <xsl:template> element has a name attribute, it might, 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 and with the same import precedence.
An <xsl:call-template> element can contain any number of <xsl:with-param> elements. However, it cannot contain other XSLT elements.
The following topic provides an example of <xsl:call-template>.