我使用以下定义运行XML Schema:
<xs:simpleType name="ClassRankType">
<xs:restriction base="xs:integer">
<xs:totalDigits value="4"/>
<xs:minInclusive value="1"/>
<xs:maxInclusive value="9999"/>
</xs:restriction>
</xs:simpleType>
然而,在我看来,totalDigits
是多余的。我对XML Schema有些新意,并希望确保我没有错过任何东西。
totalDigits
与maxInclusive
的实际行为是什么?
始终可以totalDigits
和minInclusive
的组合来表示MaxInclusive
吗?
totalDigits
如何影响负数?
答案 0 :(得分:7)
totalDigits总是可以用minInclusive和MaxInclusive的组合来表示吗?
在这种情况下,是的。当您处理整数时,该值必须是整数,因此您在minInclusive
和maxInclusive
之间拥有一组有限的值。如果您有小数值,totalDigits
会告诉您该值可能有多少个数字。
totalDigits如何影响负数?
这是数字中允许的总位数,不受小数点,减号等的影响。来自auxy.com:
<xsd:totalDigits>
facet的value属性指定的数字将限制小数点两边的数字中允许的总位数。
答案 1 :(得分:2)
totalDigits是数字可以包含的总位数,包括十进制数。所以totalDigits为4将允许4.345或65.43或932.1或4位整数,如上例所示。负面相同。之前的任何一个示例都可以为负数,并且仍然以4的totalDigits验证。
max和min inclusive / exclusive限制数字的范围。在你的例子中,maxinclusive似乎有点多余,但是mininclusive确保数字大于0。