XML Schema XSD TotalDigits与MaxInclusive

时间:2008-10-03 19:06:45

标签: xml xsd

我使用以下定义运行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有些新意,并希望确保我没有错过任何东西。

totalDigitsmaxInclusive的实际行为是什么?

始终可以totalDigitsminInclusive的组合来表示MaxInclusive吗?

totalDigits如何影响负数?

2 个答案:

答案 0 :(得分:7)

  

totalDigits总是可以用minInclusive和MaxInclusive的组合来表示吗?

在这种情况下,是的。当您处理整数时,该值必须是整数,因此您在minInclusivemaxInclusive之间拥有一组有限的值。如果您有小数值,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。