类型中需要时区="xs:dateTime"
Require time zone in type="xs:dateTime"
是否有可能以某种方式在 XML 架构中的 dateTime
中要求时区?
要要求 xs:dateTime
具有时区,请将 xs:pattern
方面添加到 xs:restriction
:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="dateTimeWithRequiredTimeZone">
<xs:restriction base="xs:dateTime">
<xs:pattern value="\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ"/>
<xs:pattern value="\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\+\d\d:\d\d"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
编辑:
正如 Michael Kay 有益地指出的那样,上述模式 过度指定了要求 。就像 xs:dateTime
检查已经限制了每个日期和时间限制的数字一样,它也会限制它们 是 数字。因此,该模式只能关注时区 xs:dateTime
:
的增加长度
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="dateTimeWithRequiredTimeZone">
<xs:restriction base="xs:dateTime">
<xs:pattern value=".{20}.*"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
同样根据迈克尔:XSD 1.1 有 explicitTimeZone="required|prohibited|optional"
是否有可能以某种方式在 XML 架构中的 dateTime
中要求时区?
要要求 xs:dateTime
具有时区,请将 xs:pattern
方面添加到 xs:restriction
:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="dateTimeWithRequiredTimeZone">
<xs:restriction base="xs:dateTime">
<xs:pattern value="\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ"/>
<xs:pattern value="\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\+\d\d:\d\d"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
编辑:
正如 Michael Kay 有益地指出的那样,上述模式 过度指定了要求 。就像 xs:dateTime
检查已经限制了每个日期和时间限制的数字一样,它也会限制它们 是 数字。因此,该模式只能关注时区 xs:dateTime
:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="dateTimeWithRequiredTimeZone">
<xs:restriction base="xs:dateTime">
<xs:pattern value=".{20}.*"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
同样根据迈克尔:XSD 1.1 有 explicitTimeZone="required|prohibited|optional"