maxInclusive 9999999999 的正整数限制在技术上是否有效?

Is technically valid a positiveInteger restriction with maxInclusive 9999999999?

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

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

在class中做这个限制的转换,我创建了一个属性,tipe UInt32,但是这个数据类型只允许最大4294967295的数字,比定义的maxInclusive低很多限制。

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

提前致谢。

限制没问题。看看 W3C standard.

[Definition:] positiveInteger is ·derived· from nonNegativeInteger by setting the value of ·minInclusive· to be 1. This results in the standard mathematical concept of the positive integer numbers. The ·value space· of positiveInteger is the infinite set {1,2,...}. The ·base type· of positiveInteger is nonNegativeInteger.

他们可能表示此值是 xs:unsignedInt 或 xs:unsignedLong,但从技术上讲它是正确的。