Bonjour,
j'aimerais savoir la différence entre l'élément selector et field.
pour moi un seul élément suffit pour définir la contrainte d'integrité (d'unicité ou reference).
exemple:
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
<xs:element name="service">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="employe">
<xs:complexType>
<xs:attribute name="nom" type="xs:string"/>
<xs:attribute name="id" type="xs:token"/>
<xs:attribute name="chef" type="xs:token"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="kid">
<xs:selector xpath="employe"/>
<xs:field xpath="@id"/></xs:key>
<xs:keyref name="chef" refer="kid">
<xs:selector xpath="employe"/>
<xs:field xpath="@chef"/></xs:keyref>
</xs:element>
on peut ,par exemple, utiliser seulement l'élément field pour définir la contrainte d'intégrité:
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
<xs:element name="service">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="employe">
<xs:complexType>
<xs:attribute name="nom" type="xs:string"/>
<xs:attribute name="id" type="xs:token"/>
<xs:attribute name="chef" type="xs:token"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="kid">
<xs:field xpath="employe/@id"/></xs:key>
<xs:keyref name="chef" refer="kid">
<xs:field xpath="employe/@chef"/></xs:keyref>
</xs:element>
merci d'avance