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

Re: [xsl] The operator '!=' returns false when one operand doesn't exist


Subject: Re: [xsl] The operator '!=' returns false when one operand doesn't exist
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 08 Aug 2002 08:42:01 -0400

A nuance regarding comparisons should be addressed in this response:

At 2002-08-08 09:13 +1000, Michael Fuller wrote:
Jerome Louvel wrote:
> We have an issue with the XPath '!=' operator [...]

As others have observed, this is the defined behaviour for nodesets.

For example, given the nodesets
    NS1: {<a>-1</a>, <b>0</b>, <c>1</c>}
and
    NS2: {<X>0</X>}

this means that all of the following relationships hold:

    NS1 = NS2   (the string value of the node <X>0</X> in the second set
                 is equal to the string value of the node <b>0</b>)

    NS1 != NS2  (the string value of the node <X>0</X> in the second set
                 is not equal to the string value of the node <a>-1</a>)

Fine above.


    NS1 < NS2   (the string value of the node <X>0</X> in the second set
                 is > the string value of the node <a>-1</a>)

    NS1 > NS2   (the string value of the node <X>0</X> in the second set
                 is < the string value of the node <c>1</c>)

    NS1 >= NS2  (the string value of the node <X>0</X> in the second set
                 is >= the string value of the node <b>0</b>)

    NS1 <= NS2  (the string value of the node <X>0</X> in the second set
                 is >= the string value of the node <b>1</b>)

Note that in any expression with "<" and ">", it is the number value conversion of the string value of the node that is compared, and not the string value as documented above.


The presence of these operators converts both operands to numbers, each of which will become "NaN" if the operand is not a number.

I hope this helps.

.................. Ken


-- Upcoming hands-on in-depth 3-days XSLT/XPath and/or 2-days XSL-FO: - North America: Sep 30-Oct 4,2002 - Japan: Oct 7-Oct 11,2002

G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (Fax:-0995)
ISBN 0-13-065196-6                       Definitive XSLT and XPath
ISBN 1-894049-08-X   Practical Transformation Using XSLT and XPath
ISBN 1-894049-07-1                Practical Formatting Using XSLFO
XSL/XML/DSSSL/SGML/OmniMark services, books (electronic, printed),
articles, training (instructor-live,Internet-live,web/CD,licensed)
Next public training:           2002-08-05,26,27,09-30,10-03,07,10


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




Current Thread
Keywords