0

我得到了这个 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 大。我怎么做 ?

4

1 回答 1

1

使用 XSD 1.1,您可以使用断言

<?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>
于 2013-01-20T20:20:43.617 回答