[Bug 26832] New: [XP31] 3.7.2 General Comparisons

https://www.w3.org/Bugs/Public/show_bug.cgi?id=26832

            Bug ID: 26832
           Summary: [XP31] 3.7.2 General Comparisons
           Product: XPath / XQuery / XSLT
           Version: Working drafts
          Hardware: PC
               URL: https://www.w3.org/XML/Group/qtspecs/specifications/xq
                    uery-31/html/xpath-31.html#id-general-comparisons
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XPath 3.1
          Assignee: jonathan.robie@gmail.com
          Reporter: tim@cbcl.co.uk
        QA Contact: public-qt-comments@w3.org

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') =
xs:dateTime('2013-01-01T00:00:00Z')

(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.

Received on Wednesday, 17 September 2014 10:08:52 UTC