Как наложить минутные ограничения на xsd:dateTime?
Я прочитал, что мы можем использовать ограничения minInclusive и maxInclusive для полей xsd:datetime. Но как я могу убедиться, что мое поле dateTime не появится более чем через 5 минут в будущем? Я знаю, как справиться с этим в Java. Но я хочу проверки на уровне схемы. Пожалуйста, помогите мне.
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>
Explantion:
current-dateTime() + xs:dayTimeDuration('PT5M')
Суммы 5 минут до текущей даты.
lt
стоит ниже, чем в качестве персонажа <
не может быть использовано в этой части.
$value
содержит значение в утверждении XSD 1.1.
Смотрите также: xs: dayTimeDuration в спецификациях XPath 2.0