Subject: RE: optional children
From: "Andrew Welch" <awelch@xxxxxxxxxxxxxxx>
Date: Mon, 21 Oct 2002 13:22:30 +0100
|
Oleg:
<xsl:template match="a[count(b|c|d) = count(*)]">
<foo/>
</xsl:template>
ahhh very nice, I had been trying to come up with a count() based
solution and failing - this looks like the one though.
Jeni:
<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?
cheers
andrew
> -----Original Message-----
> From: Oleg Tkachenko [mailto:olegt@xxxxxxxxxxxxx]
> Sent: 21 October 2002 12:47
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: optional children
>
>
> Andrew Welch wrote:
>
> > I want to output if and only if element has child *, with
> > optional children and .
> > *
>
> What about
> <xsl:template match="a[count(b|c|d) = count(*)]">
> <foo/>
> </xsl:template>
>
> --
> Oleg Tkachenko
> eXperanto team
> Multiconn Technologies, Israel
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
>
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.404 / Virus Database: 228 - Release Date: 15/10/2002
>
>
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.404 / Virus Database: 228 - Release Date: 15/10/2002
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|