Re: [xsl] Select with multiple conditions?

Subject: Re: [xsl] Select with multiple conditions?
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 8 Dec 2021 15:28:46 -0000
You seem to be under the misapprehension that "|" is a boolean `or` operator.
That's not the case: it forms the union of two node-sets.

Node-sets are often used in a context where they are implicitly converted to
booleans (empty node-set => false, non-empty => true), and in this situation

`boolean( NS1 | NS2 )` means the same as `boolean(NS1) or boolean(NS2)`

which may be how you got confused.

But using "|" with operands that aren't node-sets (your second and third
examples) is an error.

Michael Kay
Saxonica


> On 8 Dec 2021, at 14:53, Michele R Combs mrrothen@xxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> All three of these constructions appear to be valid (this is xsl 1.0, sorry
for being antiquated!).  Will there be differences in the output?  If not, is
one option bbetterb than the others, and if so why?  Ibm guessing that
there are no differences in output, and that option 3 is better because more
concise.  Am I right?
>
>
> borb statements in the select condition:
>
> <xsl:for-each select="child::*[@level = 'collection']  | child::*[@level =
'recordgrp']  | child::*[@level = 'series'] | child::*[@level =
'subseries']">
>
> borb statements inside the node description [ ]
>
> <xsl:for-each select="child::*[@level = 'collection' | @level = 'recordgrp'
| @level = 'series' | @level = 'subseries']">
>
> borb statements inside the attribute match
>
> <xsl:for-each select="child::*[@level = 'collection' | 'recordgrp' |
'series'  | 'subseries']">
>
>
> Michele
> +++++++++
>
> Michele Combs | Lead Archivist
>
> Special Collections Research Center
> Visit our blog! library-blog.syr.edu/scrc/
<http://library-blog.syr.edu/scrc/>
> Syracuse University Libraries
> 222 Waverly Ave
> Syracuse, New York 13244
>
> t 315.443-2081 | e mrrothen@xxxxxxx <mailto:mrrothen@xxxxxxx> | w
scrc.syr.edu <http://scrc.syr.edu/>
> SYRACUSE UNIVERSITY
> syr.edu <http://syr.edu/>
>
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by
email <>)

Current Thread