我有一个像这样的 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