我正在定义一个XSD。我需要定义一个以yyyymmdd格式表示日期的元素。如何在XSD中定义限制以仅接受此格式?
答案 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>