I have a XSL file which does the matching of template rules in XSLT 2.0 just to check which template rule has higher priority. But it only goes to default one and not to others even if priority is set.You can see it live here: http://xsltransform.net/nc4NzQ5/4 My XSL file is schema-aware.
Following is my XML
:
<test>test</test>
<test attr1="1">test2</test>
<test attr1="2">test3</test>
<test attr3="4">test4</test>
<test attr4="4">test5</test>
<test attr5="3">test6</test>
XSL file is:
<xsl:template match="doc">
<out>
<xsl:apply-templates select="*"/>
</out>
</xsl:template>
<xsl:template match="test"><match>test</match></xsl:template>
<xsl:template match="element(test)[attr1='1']"><match>element(test)[attr1='1']</match></xsl:template>
<xsl:template match="element(test)[attr1='2']"><match>element(test)[attr1='2']</match></xsl:template>
<xsl:template match="element(test)[attr3='4']"><match>element(test)[attr3='4']</match></xsl:template>
Output is:
<match>test</match>
<match>test</match>
<match>test</match>
<match>test</match>
<match>test</match>
<match>test</match>