【发布时间】:2016-05-24 17:24:42
【问题描述】:
我读到我们可以对 xsd:datetime 字段使用 minInclusive 和 maxInclusive 限制。但是如何确保我的 dateTime 字段不会出现在未来 5 分钟之后? 我知道如何在 java 中处理它。但我希望在架构级别进行验证。 请帮我。
【问题讨论】:
标签: xsd xsd-validation xsd.exe xsd2code xsd-1.1
我读到我们可以对 xsd:datetime 字段使用 minInclusive 和 maxInclusive 限制。但是如何确保我的 dateTime 字段不会出现在未来 5 分钟之后? 我知道如何在 java 中处理它。但我希望在架构级别进行验证。 请帮我。
【问题讨论】:
标签: xsd xsd-validation xsd.exe xsd2code xsd-1.1
这可以使用 XSD 1.1 完成。示例:
<xs:element name="myDateTime">
<xs:simpleType>
<xs:restriction base="xs:dateTime">
<xs:assertion test="$value lt (current-dateTime() + xs:dayTimeDuration('PT5M'))"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
解释:
current-dateTime() + xs:dayTimeDuration('PT5M') 与当前日期相加 5 分钟。
lt 代表低于,因为字符< 不能用于该部分。
$value 保存 XSD 1.1 断言中的值。
【讨论】: