Comparing Single Values With <=, <, >, and >=

When neither object to be compared is a node set and the operator is <=, <, >=, or >, the XPath processor performs the comparison by converting both objects to numbers and comparing the numbers according to IEEE 754.

Comparison
True If and Only If
<
The first number is less than the second number.
<=
The first number is less than or equal to the second number.
>
The first number is greater than the second number.
>=
The first number is greater than or equal to the second number.
Table 69. Comparison Operator Descriptions

The XPath processor always evaluates these comparisons in terms of numbers. You cannot use the less than and greater than operators to order strings. This is especially important to remember when you compare a number with a string. For example, suppose you want to evaluate the expression

a < "foo"
               

            

The return value is always false. This is because number("foo") returns NaN, and the resulting comparison, shown below, is always false.

a < NaN
               

            

 
Free Stylus Studio XML Training:
W3C Member