2010-07-21 109 views
5

我有這樣一個XML文件:XML模式:比較日期元素

<?xml version="1.0" encoding="UTF-8"?> 
<items> 
    <item id="1"> 
     <valid_from>2010-07-09</valid_from> 
     <valid_to>2010-07-12</valid_to> 
    </item> 
    <item id="2"> 
     <valid_from>2010-07-09</valid_from> 
     <valid_to>2009-07-12</valid_to> 
    </item> 
</items> 

是否有可能定義一個XML Schema這就是稱VALID_FROM元素必須是年齡較大,則元件失效日期?

回答

5

可以使用<xs:assert>(或可替代<xs:report>)做到這一點:

<xs:complexType name="ItemType"> 
    <xs:sequence> 
    <xs:element name="valid_from" type="xs:date" /> 
    <xs:element name="valid_to" type="xs:date" /> 
    </xs:sequence> 
    <xs:assert test="valid_from lt valid_to" /> 
</xs:complexType> 

但是這需要的XML Schema 1.1

+0

XMLSpy的2013似乎並不支持這一個! – Gob00st 2013-02-21 17:03:56

+0

Schema 1.0的任何選項? – spicyramen 2016-10-15 20:07:39