Re: [xsl] xsl:initial-template

Subject: Re: [xsl] xsl:initial-template
From: "Abel Braaksma (Exselt)" <abel@xxxxxxxxxx>
Date: Thu, 1 May 2014 14:25:03 -0000
Hi Max,

Yes, this is correct. If you create a named template with the standard
name xsl:initial-template, and if you do not provide an override (i.e.,
instruct the processor to start somewhere else, or use a source document
as input, which would start matching templates processing), then that
template is called:

<xsl:template match="/">
    <xsl:text>input doc provided</xsl:text>
</xsl:template>

<xsl:template name="xsl:initial-template">
    <xsl:text>no input doc, no initial template specified</xsl:text>
</xsl:template>

<xsl:template name="other">
    <xsl:text>named template 'other' specified</xsl:text>
</xsl:template>

See section http://www.w3.org/TR/xslt-30/#invoking-initial-template.

Cheers,

Abel Braaksma
Exselt XSLT 3.0 streaming processor
http://exselt.net

On 1-5-2014 5:40, Max Toro wrote:
> If I understand correctly, in XSLT 3.0 you can initiate a
> transformation at a named template, but you are not required to
> provide a name because it uses "xsl:initial-template" as default. This
> replaces the convention of using "main" or any other kind of
> convention. Is this correct?
> --
> Max Toro

Current Thread