如何对xsd:dateTime施加微小限制?

时间:2016-05-24 17:24:43

标签: xsd xsd-validation xsd.exe xsd2code xsd-1.1

我已经读过,我们可以对xsd:datetime字段使用minInclusive和maxInclusive限制。但是,如何确保我的dateTime字段不会超过5分钟? 我知道如何在java中处理它。但我希望在架构级别进行验证。 请帮我。

1 个答案:

答案 0 :(得分:2)

可以使用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>

Explantion:

current-dateTime() + xs:dayTimeDuration('PT5M')总计5分钟到当前日期。

lt代表较低的字符<不能在该部分使用。

$value保存XSD 1.1断言中的值。

另请参阅:xs:dayTimeDuration at XPath 2.0 specs