2017-06-02 51 views
0

相关:XSD 1.1 compare 2 datesXSD 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. 

回答

1

我的猜测是,你拼错的 “空” 为 “emtpy”。要么是这个,要么是一个非常奇怪的错误信息。

(但将空()函数的“GT”比较的结果也似乎有点......我们应该说有些古怪?)

+0

感谢凯先生。我会删除这个问题,但是这个答案阻止了这个问题。 – Michael

+0

为什么要删除这个问题?只要接受答案并继续前进。有一天别人会这样做,谷歌会找到他们的答案... –

+0

没问题,完成了! – Michael