At 07:11 AM 6/10/2004, you wrote:
At 2004-06-10 06:53 -0400, Chris Loschen wrote:
Quick sanity check -- I've got two templates like this:
<xsl:template match="a | b | c">...</xsl:template>
<xsl:template match="*[(_at_)length]">...</xsl:template>
My assumption has been that the first of these is more specific
and so would have a higher priority than the second, but my output
suggests that the second is firing instead of the first. Is my assumption
faulty,
Yes. Priorities are applied *severally*, as if you had three separate
template rules for your first template rule, each with only a simple name
and a priority of zero. Your second rule is more complex than a simple
name, therefore it has higher priority of .5.
Note that there are no higher implied priorities ... all patterns more
complex than a simple name have an implied priority of .5.
OK, got it, thanks. So my choices are either specifically assigning a
higher priority to template 1 or removing the length
attribute from elements a, b, and c. Either one would probably work here.
I'll try them out. Thanks for your help.
Yours,
Chris Loschen
closchen(_at_)stanfordalumni(_dot_)org
781-718-3017 (cell)