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