xml属性(xsd)之间的比较

时间:2013-01-20 15:16:51

标签: xml xsd

我得到了这个xml代码:

<s:complexType name="number">
  <xs:sequence>
    <xs:element name="number" minOccurs="1" maxOccurs="1"/>
  </xs:sequence>
  <xs:attribute name="start" type:"xs:double"/>
  <xs:attribute name="end" type:"xs:double"/>
<xs:complexType>

我想确保end属性的数字大于start。 我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用XSD 1.1,您可以使用Assertions

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"> 

    <xs:complexType name="number">
        <xs:sequence>
            <xs:element name="number" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="start" type="xs:double"/>
        <xs:attribute name="end" type="xs:double"/>
        <xs:assert test="@end gt @start"/>
     </xs:complexType>

</xs:schema>