Re: [xsl] Is "A != B" equivalent to "not(A = B)"?

Subject: Re: [xsl] Is "A != B" equivalent to "not(A = B)"?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Sat, 27 Apr 2002 10:31:22 +0100
> Can someone explain why?  It's not very intuitive.

The XPath spec has an explicit warning that these are not the same.

if A and B are node sets and op is an infix operator
A op B is true if _any_ a in A and b in B satisfy a op b 
so you can say *='x' and it tests if any child has value x, but
you can say  *!='x' and that is true if any child is not equal to 'x'
(which isn't the same as not(*='x-).
If A and B are both node sets then A != B is almost always true
The only way it can be false is if every member of A has the same string
value, and every member of B has the same value.

!= was a late addition to Xpath, I always thought it was a mistake
to add it,almost always you want the not( ... = ...) form.


This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit or alternatively call
Star Internet for details on the Virus Scanning Service.

 XSL-List info and archive:

Current Thread