2010-07-21 72 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