[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] The pipe '|' operator: Does it mean Or or Union?

Subject: RE: [xsl] The pipe '|' operator: Does it mean Or or Union?
From: kakridge@xxxxxxxxxxxxx
Date: Wed, 14 Jan 2004 13:43:15 -0500

That makes sense, especially with the fact the 'or' returns a Boolean.
The color commentary is welcomed. :)

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Wendell Piez
Sent: Wednesday, January 14, 2004 1:12 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] The pipe '|' operator: Does it mean Or or Union?

At 12:15 PM 1/14/2004, Jeff wrote:
>kakridge@xxxxxxxxxxxxx wrote:
>>I've noticed the the Muenchian method uses '|' and that everyone
>>to this as a Union.  However, I also read that this
>><xsl:template match="foo | foobar">
>>means to match the foo OR foobar elements.  Does the definition of the
>>operator change based on the application?
>Matching "foo | foobar" gives you the union of the set of all foo with
>set of all foobar.  You can read it as "OR", but it's still a union 
>operator.  XPath has a separate "or" operator, but that's not the same

It may also help to recall the rationale for matching: my node matches a

pattern if there is another node in the document from which my node can
retrieved, using the given pattern as an XPath expression. (This would
for chaos, except of course not all XPath location paths are allowed as 
patterns -- only some of the ones that look "down").

Since all foo and all foobar elements have parent nodes, any of them can
reached, from somewhere, using the XPath "foo | foobar". In other words,

the pattern matches any node in the union set of foo and foobar

(The "or" operator returns a Boolean, so it can't be used in a pattern
apart from inside predicates -- since it doesn't return nodes at all.)

Hm, I seem to be offering lots of color commentary today....


Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
   Mulberry Technologies: A Consultancy Specializing in SGML and XML

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

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

Current Thread