XSD: диапазон целочисленных значений по умолчанию
существует ли подразумеваемый диапазон значений по умолчанию при определении элемента определенного типа данных в 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 ответов
Ну, это зависит от типа данных...
если вы посмотрите на определение integer
на w3:
пространством значений integer является бесконечное множество {..., -2, -1,0,1,2,...}
по сути это означает, что для целых чисел по умолчанию нет диапазона значений min/max, так как любое целое число может быть представлено.
С другой стороны, на int
:
(...) maxinclusive часто встречаются, чтобы быть 2147483647 и minInclusive быть -2147483648.
список можно продолжать longs
, shorts
, etc...
вы можете прочитать его более подробно здесь:http://www.w3.org/TR/xmlschema-2/#typesystem