Re: Filtering using XSL

Subject: Re: Filtering using XSL
From: Steve Tinney <stinney@xxxxxxxxxxxxx>
Date: Wed, 09 Feb 2000 22:25:06 -0500
tmmet tvp wrote:
> I want to get all Chapters with Value(attribute) "true".
> In my XSL,I used as follows...
> <xsl:template match = "Main[not(.//Chapter[@Value = 'false'])]"/>

You need to match on Chapter, not on Main (you are asking to match Main
if it does not contain any Chapter descendants whose Value attribute is
'false' [I think; the expression is making my brain hurt]).

Try something like: match="Chapter[@Value='true']", and use it in
combination with templates that are applied to all Chapter elements.

The other strategy, if you want to control application of templates from
a single location, is something like:

     ...
     <xsl:apply-templates select="//Chapter[@value='true']"/>
     ...
     <xsl:template match="Chapter">
     </xsl:template>

Note that using '//' is better avoided if you care about performance. 

 Steve


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread