为什么 xs:precisionDecimal 不是 XSD1.1 的一部分?

Why isn't xs:precisionDecimal part of the XSD1.1?

虽然到处都说 xs:precisionDecimal 属于 XML 架构 1.1(请参阅 https://www.ibm.com/developerworks/xml/library/x-xml11pt1/ or https://www.w3.org/TR/xsd-precisionDecimal/), I cannot find any definition for xs:precisionDecimal under https://www.w3.org/2001/XMLSchema。如果我单击 XML Schema 部分下的链接,它们是很多类型(如 int、double、string 等)的定义,但不是 precisionDecimal。

我在哪里可以找到 xs:precisionDecimal 的定义,为什么不是 https://www.w3.org/2001/XMLSchema 的一部分?

在链接的 IBM DeveloperWorks 文章 (2008) 时,xs:precisionDecimal 计划用于 XSD 1.1,并且在 W3C XML Schema Definition Language (XSD) 1.1, W3C Working Draft 20 June 2008.

W3C Candidate Recommendation 21 July 2011xs:precisionDecimal 被删除:

The precisionDecimal datatype has been removed since there does not seem to be sufficient consensus in the community for its retention.

如您所见,它不是当前建议的一部分,W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, W3C Recommendation 5 April 2012

该功能出现在 XSD 1.1 的草稿中,但在相当晚的阶段被取消。

做出这个决定时,我在工作组中很活跃。事情变得相当激烈,IBM 强烈主张增加 precisionDecimal,而 Oracle 强烈反对(其他大多数人并没有真正强烈地反对);但正如在标准工作中经常发生的那样,我认为这些立场更多地基于个人的技术判断,而不是公司的商业利益。

我个人反对添加 xs:precisionDecimal,理由是这将由 XQuery 和 XSLT 工作组负责定义操作语义(特别是算术规则),这可能会很多比仅仅为验证目的定义数据类型更多的工作。还有一个循环依赖的问题:由于 XSD 1.1 断言使用 XPath,所以很难在不同时​​为该数据类型定义 XPath 操作语义的情况下向 XSD 添加新的原始数据类型;这给了 XQuery 和 XSLT 工作组对决策的影响力,而 XQuery 和 XSLT 工作组中没有人热衷于做这项工作。 (IBM 的 Don Chamberlin 在 https://www.w3.org/XML/2007/dc.pd.html 写了一份大纲,说明需要进行哪些更改;但他很快就从 IBM 和工作组退休了)

最终决定将其从规范中删除是基于向 W3C 规范添加功能需要高度共识,而不仅仅是 50% 的多数。