Subject: Re: (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
|