【问题标题】:XSD validation: total digits and fraction digitsXSD 验证:总位数和小数位数
【发布时间】:2018-05-14 15:08:53
【问题描述】:

我有一个 XSD 限制定义:

<xs:restriction base="xs:decimal">
  <xs:totalDigits value="15"/>
  <xs:fractionDigits value="2"/>
</xs:restriction>

我的 XSD 处理器(即 Altova XML Spy)认为以下 XML 片段是有效的:

<MySum>123456789012345.00</MySum>

虽然它总共有 17 位数字。 然而,

<MySum>123456789012345.01</MySum>

被认为是无效的。

处理器的行为是否正确?我认为它不应该尝试舍入值

【问题讨论】:

  • 如果您有特定要求,请考虑添加模式,例如 [0-9]{17}\.[0-9]{2}
  • 是的,但在我们的例子中,模式是在外部创建的,我们无法更改它。问题是验证软件的行为是否正确

标签: xsd xsd-validation fractions altova


【解决方案1】:

根据https://www.w3.org/TR/xmlschema-2/#rf-fractionDigits “添加......前导零数字或尾随小数零数字仍然是允许的”。所以行为似乎是正确的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多