This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
rangeExpr-28 to rangeExpr-32 contain queries with long strings of digits. The query in rangeExpr-28 is: 18446744073709551616 to 18446744073709551620 As XML Schema requires implementations to support only 18 digits, I suggest that either a) the test cases contains smaller integer values, or b) error FORG0001 be accepted.
I suspect FOCA0003 (Input value too large for integer) might be more appropriate.
Fixed to use FOCA0003. It seems that currently we don't allow an implementation to raise a static error in such cases; it has to be a dynamic error - which has the virtue that you can use try/catch on it.
I don't think FOCA0003 is the correct error for this situation. The bullet that raises FOCA0003 begins with "If ST is xs:decimal, xs:float or xs:double, then ..." I believe that the rules that apply are: 3.1.1 Literals The value of the numeric literal is determined by casting it to the appropriate type according to the rules for casting from xs:untypedAtomic to a numeric type as specified in Section 18.2 Casting from xs:string and xs:untypedAtomic (FO30). 18.2 Casting from xs:string and xs:untypedAtomic When casting to a numeric type: o If the value is too large or too small to be accurately represented by the implementation, it is handled as an overflow or underflow as defined in 4.2 Arithmetic operators on numeric values. 4.2 Arithmetic operators on numeric values o For xs:integer operations, implementations that support limited-precision integer operations ·must· select from the following options: o They ·may· choose to always raise an error [err:FOAR0002]. o They ·may· provide an ·implementation-defined· mechanism that allows users to choose between raising an error and returning a result that is modulo the largest representable integer value. See [ISO 10967]. So, I now believe that FOAR0002 should be returned.
Agreed. Will commit the change when I'm on a better internet connection.