Связано: XSD 1.1 сравнить 2 даты
Вот мой фрагмент схемы XML:
<xs:complexType name="headerType">
<xs:sequence>
<xs:element name="ContentDate" type="dateTime" />
<xs:element minOccurs="0" name="DeltaStart" type="lei:LEIDateTimeProfile" />
</xs:sequence>
<xs:assert test="empty(dateTime(./DeltaStart) gt dateTime(./ContentDate))" />
</xs:complexType>
<xs:element name="header" type="headerType" />
Есть идеи, почему следующий фрагмент XML вызывает ошибку проверки?
<header>
<ContentDate>2017-02-01T12:00:00Z</ContentDate>
<DeltaStart>2017-02-01T12:00:00Z</DeltaStart>
</header>
Вот сообщение об ошибке:
Assertion evaluation ('emtpy(dateTime(./DeltaStart) gt dateTime(./ContentDate))') for element 'LEIHeader' on schema type 'LEIHeaderType' did not succeed.
XPST0017 - Function does not exist: emtpy arity: 1.