XSD 验证:总位数和小数位数
XSD validation: total digits and fraction digits
我有一个XSD限制定义:
<xs:restriction base="xs:decimal">
<xs:totalDigits value="15"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
以下 XML 片段被我的 XSD 处理器(即 Altova XML Spy)认为是有效的:
<MySum>123456789012345.00</MySum>
虽然一共有17位。
然而,
<MySum>123456789012345.01</MySum>
被认为是无效的。
处理器的行为是否正确?我认为它不应该尝试舍入值
根据https://www.w3.org/TR/xmlschema-2/#rf-fractionDigits
"adding ... leading zero digits or trailing fractional zero digits is still permitted"。所以行为似乎是正确的。
我有一个XSD限制定义:
<xs:restriction base="xs:decimal">
<xs:totalDigits value="15"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
以下 XML 片段被我的 XSD 处理器(即 Altova XML Spy)认为是有效的:
<MySum>123456789012345.00</MySum>
虽然一共有17位。 然而,
<MySum>123456789012345.01</MySum>
被认为是无效的。
处理器的行为是否正确?我认为它不应该尝试舍入值
根据https://www.w3.org/TR/xmlschema-2/#rf-fractionDigits "adding ... leading zero digits or trailing fractional zero digits is still permitted"。所以行为似乎是正确的。