2010-08-02 3 views

Répondre

23

Quelque chose comme cela devrait fonctionner:

<xs:element name="books" maxOccurs="unbounded"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="book" maxOccurs="unbounded"> 
      <xs:complexType> 
       <xs:attribute name="isbn" type="xs:string"/> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:unique name="unique-isbn"> 
     <xs:selector xpath="book"/> 
     <xs:field xpath="@isbn"/> 
    </xs:unique> 
</xs:element> 

Fondamentalement, vous pouvez définir une contrainte « unicité » en utilisant un élément <xs:unique> et définir ce que XPath cette unicité doit s'appliquer. Pour plus d'informations, consultez la section entry on <xs:unique> de W3Schools.

0

Remarque: Cela ne fonctionne pas si vous avez différents espaces de noms. Ensuite, vous devez la pleine expression XPath:

Cela pourrait ressembler à:

<xs:unique name="unique-isbn"> 
     <xs:selector xpath="theOtherNamespace:book"/> 
     <xs:field xpath="@isbn"/> 
</xs:unique> 
Questions connexes