0

相关: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.
4

1 回答 1

1

我的猜测是您将“empty”拼写为“emtpy”。要么,要么这是一个非常奇怪的错误消息。

(但是将 empty() 函数应用于“gt”比较的结果似乎也有点……我们应该说古怪吗?)

于 2017-06-02T14:34:49.280 回答