maxInclusive 9999999999在技术上是否为正整数限制?

时间:2019-04-09 18:32:48

标签: xsd

我正在使用外部公司的Web服务,该公司已对其wsdl中的元素定义了以下限制:

<xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
        <xs:minInclusive value="1"/>
        <xs:maxInclusive value="9999999999"/>
    </xs:restriction>
</xs:simpleType>

在类中进行此限制的转换时,我创建了一个带Tipe UInt32的属性,但是此数据类型最多允许数字为4294967295,远低于限制中定义的maxInclusive。

这种限制在技术上和逻辑上对模式有效吗?还是错了,外部公司应该将基本类型更改为更大的基本类型?

谢谢。

1 个答案:

答案 0 :(得分:1)

限制很好。看看W3C standard

  

[定义:]通过将·minInclusive·的值设置为1,可以从nonNegativeInteger派生正整数。这导致了正整数的标准数学概念。 positiveInteger的值空间是无限集 {1,2,...}。 positiveInteger的基本类型是nonNegativeInteger。

这个值可能是xs:unsignedInt或xs:unsignedLong,但从技术上讲是正确的。