[Bug 29419] [XP31] edge case with negative integer literals (UnaryExpr) and limits for -9223372036854775808, which cannot be parsed

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

--- Comment #8 from Michael Kay <mike@saxonica.com> ---
Here's a suggested redrafting of the proposed addition, to go beneath the
paragraph starting "The value of a numeric literal..."

Note

The effect of the above rule is that in the case of an integer or decimal
literal, a dynamic error FOAR0002 will generally be raised if the literal is
outside the range of values supported by the implementation (other options are
available: see [F+O section 4.2] for details.)

The XSD specification allows implementations to impose a limit (which must not
be less than 18 digits) on the size of integer and decimal values. It is
RECOMMENDED that any limit should be sufficient to accommodate the full range
of values of built-in subtypes of xs:integer, such as xs:long and
xs:unsignedLong: this requires 20 digits. Negative numbers such as the minimum
value of xs:long (-9223372036854775808) are technically unary expressions
rather than literals, but they SHOULD still be expressible.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Tuesday, 15 March 2016 22:18:41 UTC