XSD日期格式覆盖

时间:2009-06-26 08:23:34

标签: xml xsd

我正在定义一个XSD。我需要定义一个以yyyymmdd格式表示日期的元素。如何在XSD中定义限制以仅接受此格式?

2 个答案:

答案 0 :(得分:10)

您始终可以将其定义为基于字符串的受限简单类型,受正则表达式限制:

<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>

马克

答案 1 :(得分:-2)

如果您想在xml中使用MM / DD / YYYY的格式,那么此代码可以帮助您使用此格式

<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>