Bonjour,

Je cherche depuis 3 semaines à valider un schema xml.
Dans ce dernier j'aimerais bien que l'attribut Name des tags Insert soient uniques, mais je ne parviens à rien.

Voici le xsd simplifié avec un seul tag parent et sous tag
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<xs:complexType name="TypeQueryList">
    <xs:sequence>
      <xs:element name="Inserts" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="1" name="Insert">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:string">
                    <xs:attribute name="name" type="xs:string" use="required"/>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>       
        </xs:complexType>
        <xs:unique name="unique-Insert-name">
          <xs:selector xpath="Inserts/Insert"/>
          <xs:field xpath="@name"/>
        </xs:unique>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
 
  <xs:element name="QueryList" type="TypeQueryList"/>
Le xml donnerait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<QueryList xmlns="http://www.osames.org/osamesorm"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.osames.org/osamesorm file:/C:/Development/Tests/TestXmlValidation/TestValidation/xml_schemas/orm.xsd">
    <Inserts>
        <Insert name="test1"></Insert>
        <Insert name="test1"></Insert>
    </Inserts>
</QueryList>
Je suis complètement largué sur comment avoir une erreur si j'ai déjà un nom donné.

Merci.