2010-07-21 9 views
5

que tengo un archivo XML como esto:esquema XML: la comparación de elementos de fecha

<?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> 

¿Es posible definir un esquema XML eso es decir el elemento VALID_FROM tiene que ser más viejo que el elemento valid_to?

Respuesta

5

Puede utilizar <xs:assert> (o alternativamente <xs:report>) para hacer eso:

<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> 

Pero esto requiere de esquemas XML 1.1

+0

XMLSpy 2013 no parece apoyar este! – Gob00st

+0

¿Alguna opción para Schema 1.0? – spicyramen

Cuestiones relacionadas