使用XS:日期我希望日期格式为YYYYMMDD

时间:2011-02-18 09:38:25

标签: xml xsd w3c

使用XSD我只想在我的xml字段中接受格式为YYYYMMDD的日期。 那我该怎么做呢

               

我在一个例子中看到这个会起作用吗?

1 个答案:

答案 0 :(得分:10)

XML架构defines dateTime作为ISO8601,但有一些例外,您应该坚持这一点,否则您将遇到严重的互操作性问题。如果您想使用不同的格式发送/接收日期,请使用带有正则表达式限制的simpleType并在应用程序代码中解析/格式化日期:

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

如果您确实想要使用内置类型(高度不可取),那么您的XML框架/库可能会有一些支持。例如,在Java / JAXB中,您可以将自定义转换器/格式化程序应用于任何类型,以便在客户端/服务器代码中仍然使用Date对象(而不是8位String),但它是使用您的自定义例程编组/解组。