为什么 W3C XML Schema 规范允许整数有前导零?

pja*_*sen 3 w3c xsd integer specifications

最近我有一个示例,其中 xml 消息整数字段包含前导零。不幸的是,这些零具有相关性。有人可能会争论为什么在模式定义中选择整数。但这不是我的问题。我有点惊讶在允许的情况下前导零。所以我查阅了规范,这当然告诉我超类型是十进制。但正如预期的那样,规范并没有真正告诉您为什么做出某些选择。所以我的问题实际上是允许前导零的理由是什么?我的意思是数字通常没有前导零。

顺便说一句,我想添加对前导零的限制的唯一方法是通过模式。

C. *_*een 5

我记得 XML Schema 工作组允许在 XSD 小数中使用前导零,因为它们在正常的十进制表示法中是允许的:1、01、001、0001 等在正常的数字表示法中都表示相同的数字。(但我实际上不记得对此进行过任何详细的讨论,所以也许这只是我相信这是正确的事情的原因,而其他工作组成员还有其他原因对此感到满意。)

您正确地认为问题的根源是使用 xsd:integer 作为使用数字字符串的表示法类型,其中前导零很重要(例如在美国邮政编码中);我认为你可能过于慷慨地说人们可以争论这一决定。人们可以提出什么可能的论据来支持这种明显错误的选择呢?