Gérer les clés étrangères dans un ficher XSD
Bonjour tout le monde
J'ai une question concernant la gestion des clés étrangères dans un fichier XML schema (.xsd).
Supposons que nous avons deux entités:
Etudiant(<souligne>cin</souligne>,nom,prenom,age,#section);
Section(<souligne>nom</souligne>)
et que nous devons les représenter en xsd, qu'est ce que je dois ajouter sous l’élément section (pour montrer que c'est une clé étrangère)un key ou un keyref?
voici le code que j'ai écrit:
Code:
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="Etudiant">
<xs:sequence>
<xs:element name="cin" type="xs:int" nillable="false" >
<xs:unique name="cinEtudiant">
<xs:selector xpath="Etudiant/cin" />
<xs:field xpath="cin" />
</xs:unique>
</xs:element>
<xs:element name="nom" type="xs:string" />
<xs:element name="prenom" type="xs:string" />
<xs:element name="age" type="xs:int" />
<xs:element name="section" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Section">
<xs:sequence>
<xs:element name="nomSection" type="xs:string" >
<xs:key name="nomSec">
<xs:selector xpath="./Section" />
<xs:field xpath="." />
</xs:key>
<xs:keyref name="sectionRef" refer="nomSec">
<xs:selector xpath="./Section" />
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema> |
Merci d'avance :D.