Я нахожусь в процессе создания XML-схемы, и одним из моих значений является год. Таким образом, я хотел бы убедиться, что все значения имеют ровно 4 символа. Для этого я использую следующий синтаксис:Как установить минимальную длину для целого числа в схеме XML?
<xs:element name="publish_year" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:totalDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Если я понять «totalDigits» правильно, кто-то может перейти в «publish_year» значение «2008» или «200». Оба будут действительны. Таким образом, как я могу структурировать свой XSD, чтобы обеспечить 4 цифры? На первый взгляд, я предполагаю, что я хотел бы использовать регулярное выражение, но я хотел бы знать, если я с видом что-то, что уже приготовленную в (например, «totalDigits»)
UPDATE:
я пошел со следующим решением. Это может быть чрезмерным, но оно перевернуто:
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:totalDigits value="4" fixed="true"/>
<xs:minInclusive value="1900"/>
<xs:pattern value="^([1][9]\d\d|[2]\d\d\d)$"/>
</xs:restriction>
</xs:simpleType>
Вы хотите, чтобы вы оставили левую нулевую прокладку, т. Е. 0000, 0001 - 9999? – Greg 2008-11-18 20:25:39
Если никакое отступы не требуется, я просто добавил предложение «фиксированного» атрибута – VonC 2008-11-18 20:26:22