[Bug 5086] K2-CeilingFunc-1 et seq

http://www.w3.org/Bugs/Public/show_bug.cgi?id=5086

           Summary: K2-CeilingFunc-1 et seq
           Product: XML Query Test Suite
           Version: unspecified
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XML Query Test Suite
        AssignedTo: andrew.eisenberg@us.ibm.com
        ReportedBy: mike@saxonica.com
         QAContact: public-qt-comments@w3.org


Affected Tests:

K2-CeilngFunc-1 to -12
K2-FloorFunc-1 to -12
K2-RoundFunc-1 to -12
K2-RoundEvenFunc-17 to -22

These tests take the form

ceiling(xs:unsignedShort(3)) instanceof xs:unsignedShort

and expect the answer false. I believe this is an incorrect reading of the
spec.  The spec says "If the type of $arg is a type derived from one of the
numeric types, the result is an instance of the base numeric type." But if
ceiling(xs:unsignedShort(3)) returns the unsignedShort 3, then this condition
is satisfied, because the unsignedShort 3 is indeed an instance of "the base
numeric type" (which I assume is intended to mean xs:integer).

As a general rule, if a function is required to return a value of type T, then
a value of any subtype of T is acceptable.

Michael Kay

Received on Saturday, 29 September 2007 15:42:33 UTC