Subject: Re: [xsl] or predicates From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Wed, 6 Feb 2002 15:13:03 +0000 |
Hi Bernward, > I try to put a | inside a predicate but it doesn't work. The | is the union operator, used to create a union of two node sets. The operands for the union operator must be node sets. When you do: > <xsl:apply-templates select="doc[N1='xxx' | N2='yyy']"/> It's an error because the expressions "N1 = 'xxx'" and "N2 = 'yyy'" are not node sets. On the other hand: > Putting | outside the predicate works. > <xsl:apply-templates select="doc[N1='xxx'] | doc[N2='yyy']"/> Here the expressions "doc[N1 = 'xxx']" and "doc[N2 = 'yyy']" do evaluate to node sets (of doc elements), so the union operator can create a union of doc elements whose N1 child elements equal 'xxx' and those doc elements whose N2 child elements equal 'yyy'. If you want 'or', then you should use 'or': <xsl:apply-templates select="doc[N1 = 'xxx' or N2 = 'yyy']" /> 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] or predicates, Joerg Heinicke | Thread | RE: [xsl] or predicates, Michael Kay |
[xsl] Re:, Corey A. Spitzer | Date | RE: [xsl] or predicates, Michael Kay |
Month |