On 15 May 2014, at 15:38, Rushforth, Peter peter.rushforth@xxxxxxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> We are using <xsl:apply-imports/> to allow an imported stylesheet to provide
custom javascript links in the head
> of the generated html page.
>
> The problem is that unless the imported stylesheet provides a do-nothing
template for this mode, the <xsl:apply-imports/>
> directive seems to invoke the default templates from either the imported
stylesheet or itself. I thought, from reading
> the "manual", that xsl:apply-imports only invoked templates which have the
same mode as that of the invoking template.
>
> Why are the default templates apparently being invoked? Thank you.
>
If I remember correctly, XSLT 1.0 was a bit vague on this and XSLT 2.0
clarified it, so processors may vary. XSLT 2.0 states that if no user-written
template is found to meet the criteria for xsl;apply-imports, the built-in
template is executed.
Built-in templates of course apply to every mode.
Michael Kay
Saxonica
|