Re: [xsl] (or) statement in setting node-set variable

Subject: Re: [xsl] (or) statement in setting node-set variable
From: Mike Brown <mike@xxxxxxxx>
Date: Fri, 5 Jan 2001 17:47:12 -0700 (MST)
Keith wrote:
> On several occasions I have established a variable by selecting a child
> element with an OR statement,
> (eg. <xsl:variable name="NAME" select="//merchantName|//pocName"/>)

I can't help with the question, but I can tell you that | is not OR.
It is a union operator.

So the expression is not evaluated as
"the set of nodes matching pattern //merchantname or //pocName"

Instead, it is evaluated as
"the node-set that is the union of node-set x and node-set y, 
where node-set x is the set of nodes matching pattern //merchantName
and node-set y is the set of nodes matching pattern //pocName"

This subtle distinction can be important to understand from time to
time. If | really meant logical OR, the expression would be
equivalent to
   boolean(//merchantName) or boolean(//pocName)
and would return a boolean rather than a node-set.

The only real logical OR is the token 'or'.

   - Mike
____________________________________________________________________
Mike J. Brown, software engineer at            My XML/XSL resources: 
webb.net in Denver, Colorado, USA              http://skew.org/xml/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread