XSD:默认整数值范围

时间:2013-03-18 20:26:27

标签: xml xsd xml-validation

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

<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文档但尚未找到答案。

1 个答案:

答案 0 :(得分:7)

嗯,这取决于数据类型......

如果你看definition of integer at w3

  

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

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

另一方面,for an int

  

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

longsshorts等等的列表仍在继续......

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