xsl-list
[Top] [All Lists]

[xsl] Nested predicate question

2008-07-28 13:35:56
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>