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 に答える