10

在 XSD 文件中定义特定数据类型的元素时是否存在隐含的默认值范围?例如,如果我定义一个整数类型的元素:

<xs:element name="MyIntegerElement" type="xs:integer"/>

这是否具有将验证的隐含最小值和最大值?我知道我可以像这样明确定义有效范围:

<xs:element name="MyIntegerElement">
   <xs:simpleType>
      <xs:restriction base="xs:integer">
         <xs:minInclusive value="1"/>
         <xs:maxInclusive value="16"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

但是,如果我在验证 XML 文件时不这样做,它会默认为一系列有效值吗?我一直在研究 XSD 文档,但还没有找到答案。

4

1 回答 1

8

好吧,这取决于数据类型...

如果您查看at w3的定义integer

整数的值空间是无限集{...,-2,-1,0,1,2,...}

本质上,这意味着对于整数,默认情况下没有最小值/最大值范围,因为可以表示任何整数。

另一方面,对于一个int

(...) maxInclusive 为 2147483647,minInclusive 为 -2147483648。

名单还在继续longsshorts等等......

您可以在此处更详细地阅读它:http: //www.w3.org/TR/xmlschema-2/#typesystem

于 2013-03-18T20:49:48.527 回答