我有一个像这样的 XML文件: ?xml version="1.0" encoding="UTF-8"?items item id="1" valid_from2010-07-09/valid_from valid_to2010-07-12/valid_to /item item id="2" valid_from2010-07-09/valid_from valid_to2009-07-12/valid_to /item/item
<?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元素必须比valid_to元素更旧?
您可以使用< 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
