Как наложить минутные ограничения на 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

Другие вопросы по тегам