This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: or in xsl:if


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]