[xsl] apply-templates and priorities

Subject: [xsl] apply-templates and priorities
From: <simon_handley@xxxxxxxxxxx>
Date: Wed, 15 Sep 2004 14:55:34 -0700
I'm confused about how the priorities of templates are computed.  Using
saxon 8.0, this stylesheet:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
    <xsl:template match="*" priority="1">
        <xsl:message>in first</xsl:message>
    </xsl:template>

    <xsl:template match="/" priority="10">
        <xsl:message>in second</xsl:message>
    </xsl:template>
</xsl:stylesheet>

and an arbitrary source doc produces the message "in second" (as expected).

Now if I switch around the priorities:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
    <xsl:template match="*" priority="10">
        <xsl:message>in first</xsl:message>
    </xsl:template>

    <xsl:template match="/" priority="1">
        <xsl:message>in second</xsl:message>
    </xsl:template>
</xsl:stylesheet>

Then I still get "in second" (NOT as expected).  Note that if the
patterns are the same then this behaviour goes away (the latter
case produces "in first").  Also, I see the same behaviour in earlier
versions of saxon.

My understanding of these things is that the default priorities for the
two templates are different (as per section 5.5 of the 1.0 spec), but
that the explicit priority just overrides the default priorities.  Is
something else going on, or have I missed something really simple?

Thanks,

Simon

------------------------------------------------------------------------
  Simon Handley
  Agilent Technologies
  5301 Stevens Creek Boulevard, MS WH
  Santa Clara, California 95051-7295
  simon_handley@xxxxxxxxxxx
  408-553-7122 (w) 408-553-7269 (fax)

--+------------------------------------------------------------------
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@xxxxxxxxxxxxxxxxxxxxxx>
--+--

Current Thread