In the example below I expect that I'm applying a template
rule for the <list> element and using a nested predicate
in which I'm saying "only apply this rule if a child of
<list> is <xyz> which has a child of <PPP>".
But in my example I've inadvertently set up the template
to match on <xyz>.
Nevertheless, the template with a mode named "test" gets
invoked.
Why is this the case?
Apologies if there's not enough here. I wanted to try and
get to the crux of my issue without having a lot extra junk.
xalan 2.3.1 by the way.
<ABC>
<def>
<list>
<xyz>
<QQQ></QQQ>
</xyz>
<xyz>
<QQQ></QQQ>
<PPP></PPP>
</xyz>
</list>
</def>
</ABC>
<xsl:template match="def">
<xsl:apply-templates select="list[xyz[PPP]]" mode="test" />
</xsl:template>
<xsl:template match="xyz" mode="test">
<xsl:message><xsl:value-of select="name()" /></xsl:message>
...
</xsl:template>
--~------------------------------------------------------------------
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>
--~--