Hi List,
This struck me as very peculiar today, when I was researching a bug in
my xslt templates: calling an initial template does *not* mean that the
template with the highest import precedence is called.... This sounds
like an implementation bug to me, but I don't have all the spec rules
clear, hence I ask you (the list) first.
Two stylesheets:
** IMPORTED **
<xsl:stylesheet version = "2.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/" name="main" >
<low-precedence />
</xsl:template>
</xsl:stylesheet>
** IMPORTING **
<xsl:stylesheet version = "2.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" >
<xsl:import href="import.xslt"/>
<xsl:template match="/" name="main" >
<high-precedence />
</xsl:template>
</xsl:stylesheet>
Call this stylesheet with initial template set to "main" and the output is:
<low-precedence />
Expected output is:
<high-precedence />
I wanted to test this behavior with other processors than Saxon that
(claim to) be xslt 2 compliant, i.e., AltovaXML, but alas, it does not
support the named initial template. I called Saxon like this:
java -jar saxon8.jar -it main importing.xslt
Imho, this behavior is either erroneous, or if not, unwanted, because it
does not fit the normal import precedence rules. Am I wrong? Is there a
special treatment for import precedence when it comes to a named initial
template? Setting priority did not change this behavior (but, afaik,
that only applies for equal import precedence).
Cheers,
-- Abel Braaksma
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--