我意识到值 0.00 不是有效的非负整数,甚至也不是整数。不幸的是,数据是以这种格式出现的。如果它以 .0 结尾,我不想将其丢弃,但我也不想将类型更改为 Decimal 并且可能以 .1 结尾的值作为有效值。
有没有办法我的 XSD 可以验证数字,使它们只是正整数,因此 0.00、0、1、1.0、2.0000000 等值都被接受,但 -1、1.1、2.2、3.3333 都是无效的?
谢谢-c
您可以查看更改为小数并对小数点后的位置进行限制。特别是,您可能能够使用正则表达式方面。我从来没有尝试过这个,甚至不知道它是否有效,但这是一个值得关注的方向。您将限制词汇空间而不是值空间,但这就是您想要的。
这可以满足我的需要,谢谢约翰
<xs:simpleType name="nonNegativeWholeDecimal">
<xs:restriction base="xs:decimal">
<xs:pattern value="[0-9]*(\.[0]*)?"/>
</xs:restriction>
</xs:simpleType>