xsl-list
[Top] [All Lists]

[xsl] Misunderstanding named initial template and precedence rules?

2007-02-28 08:59:46
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>
--~--