The problem here isn't specific to XPath 3.1, but it might be a good time to
clear this issue up now...
In 3.7.2 General Comparisons, Step 4 says:
"The result of the comparison is true if and only if there is a pair of atomic
values, one in the first operand sequence and the other in the second operand
sequence, that have the required magnitude relationship. Otherwise the result
of the comparison is false... "
This suggests that possible outcomes are only true or false. However, the
paragraph then goes on to mention one error condition.
So possible outcomes are:
true: e.g. true() = true()
false: e.g. true() = false()
FORG0006: e.g. true() = xs:yearMonthDuration('P1999Y')
FORG0001: e.g. xs:yearMonthDuration('P1999Y') = xs:untypedAtomic('untyped')
XPTY0004: e.g. xs:yearMonthDuration('P1999Y') =
(the last of which being determined statically).
The discrepancy between the two statements suggests that it might be
permissible to ignore all errors and return only true or false.
A similar problem occurs in the test describing comparison when XPath 1.0
compatibility mode is false.
You are receiving this mail because:
You are the QA Contact for the bug.