8

我遇到了具有以下定义的 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 有点陌生,并且想确保我没有遗漏任何东西。

totalDigitsvs.的实际行为是maxInclusive什么?

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

如何totalDigits影响负数?

4

2 回答 2

8

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

在这种情况下,是的。当您处理整数时,该值必须是整数,因此您在minInclusive和之间有一组有限的值maxInclusive。如果您有十进制值,totalDigits会告诉您该值总共有多少个数字。

totalDigits 如何影响负数?

它是数字中允许的总位数,不受小数点、减号等影响。来自auxy.com

由分面的 value 属性指定的<xsd:totalDigits>数字将限制数字中允许的小数点两侧的总位数。

于 2008-10-03T19:22:20.057 回答
3

totalDigits 是数字可以有的总位数,包括十进制数。因此,totalDigits 为 4 将允许 4.345 或 65.43 或 932.1 或 4 位整数,如上例所示。负数也一样。之前的任何示例都可以设为负数,并且仍然验证为 4 的总数。

max 和 min 包含/排除限制数字的范围。在您的示例中,maxinclusive 可能看起来有点多余,但 mininclusive 确保该数字大于 0。

于 2008-10-03T19:25:35.183 回答