Переопределение формата даты XSD - PullRequest
6 голосов
/ 26 июня 2009

Я определяю XSD. Мне нужно определить элемент, который принимает дату в формате ггггммдд. Как определить ограничение в XSD, чтобы принимать только этот формат?

Ответы [ 2 ]

10 голосов
/ 26 июня 2009

Вы всегда можете определить его как ограниченный простой тип на основе строки, ограниченный регулярным выражением:

<xs:simpleType name="FormattedDateType">
   <xs:restriction base="xs:string">
       <xs:pattern value="\d{8}"/>
   </xs:restriction>
</xs:simpleType>

Если вы хотите стать действительно умным, вы можете настроить регулярное выражение, чтобы оно еще больше соответствовало дате (например, содержит информацию о том, что месяц может быть только 01–12 и т. Д.):

<xs:simpleType name="FormattedDateType">
   <xs:restriction base="xs:string">
       <xs:pattern value="\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])"/>
   </xs:restriction>
</xs:simpleType>

Марк

0 голосов
/ 25 ноября 2013

Если вы хотите формат MM / DD / YYYY в xml, тогда этот код может помочь вам в этом формате

<xs:element name="StartDate">
   <xs:simpleType>
      <xs:restriction base="xs:string">
         <xs:pattern value="\d{2}[/]\d{2}[/]\d{4}"/>
     <xs:length value="10"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...