Subject: Re: [xsl] optional children From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Mon, 21 Oct 2002 14:18:45 +0100 |
Hi Andrew, > <xsl:if test="b and not(*[not(self::c or self::d)])"> > <foo /> > </xsl:if> > > Ok so here you are using not() within a not() to exclude nodes from > the list of excluded nodes... this doesnt work for me but I get the > logic behind it. Does it fail because not(*[...]) will evaluate to > false before it even gets to the predicates (because <b> must exist > already)?? Or will the first predicate always be evaluated if there > is one? Sorry, I think it's because I missed self::b from the list: b and not(*[not(self::b or self::c or self::d)]) should work better. Oleg's solution is neater anyway though, as long as it's unlikely that there'll be hordes of children of a (because if there were lots of children then doing count()s would involve a lot of node visits which would take time). Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] optional children, Andrew Welch | Thread | RE: [xsl] optional children, Yates, Danny (ANTS) |
RE: [xsl] optional children, Andrew Welch | Date | Re: [xsl] Process same template 2X?, Geoff Hankerson |
Month |