xsl-list
[Top] [All Lists]

RE: optional children

2002-10-21 05:22:30

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(_at_)multiconn(_dot_)com]
Sent: 21 October 2002 12:47
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] 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



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