This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Filtering using XSL


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]