On 13 Sep 2002, Craig Longman wrote:
> <x:if select="$mod/module-load-status == '${selector}'">
>
> notice the '==' as equality check, not '=' as assignment. i'm pretty
> sure that a (at least one) problem.
No, in XPath, '=' is the operator to test for equality; '==' is not used.
Note, just as an interesting sidebar, that '=' is one of the least
intuitive operators in XPath when applied to node-sets. It does not test
for set equality, as you might expect; instead, it performs an odd
convert-then-intersect operation as follows:
If both objects to be compared are node-sets, then the comparison will
be true if and only if there is a node in the first node-set and a node
in the second node-set such that the result of performing the comparison
on the string-values of the two nodes is true.
I still can't figure out what use-case the designers of XPath or XSLT had
in mind when specifying the operator this way. It means, for instance,
that in the following document, the expression "//a = //b" is true:
<root>
<a>1</a>
<b>2</b>
<b>1</b>
</root>
--
Shawn Bayern
"JSTL in Action" http://www.jstlbook.com
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>