web-dev-qa-db-ja.com

XSD:デフォルトの整数値の範囲

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ドキュメントを調べてきましたが、まだ答えが見つかりません。

9
Jeff

まあ、それはデータ型に依存します...

w3でのintegerの定義 を見ると:

整数の値空間は無限集合{...、-2、-1,0,1,2、...}です。

本質的には、整数の場合、任意の整数を表すことができるため、デフォルトでは最小/最大値の範囲がないことを意味します。

一方、 intの場合

(...)maxInclusiveは2147483647であり、minInclusiveは-2147483648です。

リストはlongsshortsなどに続きます。

詳細については、こちらをご覧ください: http://www.w3.org/TR/xmlschema-2/#typesystem

7
Francisco Paulo