对 XML 架构中的时间属性应用限制
Apply restriction to time attribute in XML Schema
我想对 XML 模式应用特定限制(我对此经验很少)。
我有一个 xsd:time
类型的属性:
<xsd:attribute name="hour" type="xsd:time" use="required"/>
我想要的是应用限制,以便 XML 仅在半小时的时间间隔内有效。例如,10:00、12:30、15:30、20:00 是小时属性的有效值,但 10: 45、11:12、15:34等不会。
我怎样才能做到这一点?我的搜索没有给出有用的东西。
提前致谢。
你可以这样定义你的时间。
<xsd:attribute name="hour" type="Time" use="required"/>
<xsd:simpleType name="Time">
<xsd:restriction base="xsd:time">
<xsd:enumeration value="00:00:00"/>
<xsd:enumeration value="00:30:00"/>
<xsd:enumeration value="01:00:00"/>
<xsd:enumeration value="01:30:00"/>
<xsd:enumeration value="02:00:00"/>
<xsd:enumeration value="02:30:00"/>
<xsd:enumeration value="03:00:00"/>
<xsd:enumeration value="03:30:00"/>
<!-- etc etc -->
</xsd:restriction>
</xsd:simpleType>
或
<xsd:simpleType name="Time">
<xsd:restriction base="xsd:time">
<xsd:pattern value="((0[0-9]|1[0-9]|2[0-3]):[0|3][0]:[0][0])"/>
</xsd:restriction>
</xsd:simpleType>
我想对 XML 模式应用特定限制(我对此经验很少)。
我有一个 xsd:time
类型的属性:
<xsd:attribute name="hour" type="xsd:time" use="required"/>
我想要的是应用限制,以便 XML 仅在半小时的时间间隔内有效。例如,10:00、12:30、15:30、20:00 是小时属性的有效值,但 10: 45、11:12、15:34等不会。
我怎样才能做到这一点?我的搜索没有给出有用的东西。
提前致谢。
你可以这样定义你的时间。
<xsd:attribute name="hour" type="Time" use="required"/>
<xsd:simpleType name="Time">
<xsd:restriction base="xsd:time">
<xsd:enumeration value="00:00:00"/>
<xsd:enumeration value="00:30:00"/>
<xsd:enumeration value="01:00:00"/>
<xsd:enumeration value="01:30:00"/>
<xsd:enumeration value="02:00:00"/>
<xsd:enumeration value="02:30:00"/>
<xsd:enumeration value="03:00:00"/>
<xsd:enumeration value="03:30:00"/>
<!-- etc etc -->
</xsd:restriction>
</xsd:simpleType>
或
<xsd:simpleType name="Time">
<xsd:restriction base="xsd:time">
<xsd:pattern value="((0[0-9]|1[0-9]|2[0-3]):[0|3][0]:[0][0])"/>
</xsd:restriction>
</xsd:simpleType>