This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 29552 - [XP31] XSD 1.1 has a minimal conformance requirement for decimals of 16 digits, not 18 digits
Summary: [XP31] XSD 1.1 has a minimal conformance requirement for decimals of 16 digit...
Status: CLOSED WORKSFORME
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XPath 3.1 (show other bugs)
Version: Candidate Recommendation
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Jonathan Robie
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-03 23:10 UTC by Abel Braaksma
Modified: 2016-04-05 23:33 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2016-04-03 23:10:41 UTC
The resolution of Bug 29419 (when applied) mentions that minimal conforming processors must support 18 digits precision for decimals (and by extension, integers).

I believe this conformance is also mentioned somewhere else, and/or in FO31, but I couldn't readily find it.

In XSD 1.1 this minimal conformance requirement seems to have changed. I found that surprising and didn't come across it earlier, but in section 5.4 of XSD 1.1 the text says, among other things:

<quote>
All ·minimally conforming· processors must support decimal values whose absolute value can be expressed as i / 10k, where i and k are nonnegative integers such that i < 1016 and k ≤ 16 (i.e., those expressible with sixteen total digits).
</quote>

I'm not 100% sure I interpret this correctly, but it seems to me that the minimal conformance requirement dropped from 18 digits to 16 digits in XSD 1.1. If so, I think we should mention that in XP31 as well, and/or specify that, regardless of XSD version supported, the minimal conformance requirement is 18 digits.

I'm in favor of the latter to prevent ugly differences in supported integer ranges between processors (however unlikely I find that a processor will limit it *below* 18 digits).
Comment 1 Abel Braaksma 2016-04-03 23:11:57 UTC
Link to the mentioned quote: https://www.w3.org/TR/xmlschema11-2/#partial-implementation (scroll down to the first bullet point).
Comment 2 Abel Braaksma 2016-04-05 23:33:20 UTC
As discussed at today's telcon #638, this issue can be closed with no action, for the following reasons:

- XPath requires host languages to define limits, both XSLT and XQuery do so
- XSLT and XQuery define an 18 digits minimum
- The dependency on XSD as perceived by the spec is therefor not relevant
- Even though XSD 1.1 allows 16 digits min. precision, this has no influence as this is lower than the limit defined in host languages
- Other options were discussed (like leaving a Note), but dismissed as too irrelevant and/or adding to the confusion 
- None that were on call could find other mentions in the text on 18 digits

Since XPath does not define these limits, the text that resolves Bug 29419 (which mentions the 18 digits) will be slightly and editorially adjusted. This will be tracked in that bug itself.

Resolved as WORKSFORME.