Re: [xsl] or in xsl:if

Subject: Re: [xsl] or in xsl:if
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 31 Oct 2001 17:59:58 +0000
Hi Corey,

> <xsl:if test="@id = 'x' or @id = 'y' ">
>
> or
>
> <xsl:if test="@id = 'x' | @id = 'y' ">

Not this second one - the | is the union operator, so the operands
have to both be node sets. As you have it above, it would generate an
error.

| can be treated like an 'or' sometimes because a node set evaluates
as boolean true if it has any nodes in it. Making a union of two node
sets results in a non-empty node set if either node set is non-empty.
So:

  test="@name or @id"

will give the same result as:

  test="@name | @id"

But in general you should only use 'or' for or.
  
Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread