2017-06-02 106 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