You are on page 1of 7

Compte Rendu

XML

TP3 | 22/12/1021
Question 1 :
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!-- Definition de type email !--> <!-- Definition de type Tele !-->

<xs:complexType name="Email"> <xs:complexType name="Tele">


<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:string"> <xs:extension base="xs:string">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="personnel"/> <xs:enumeration value="fixe"/>
<xs:enumeration value="academique"/> <xs:enumeration value="portable"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>

<!— définition de type enseignant! -->

<xs:complexType name="enseignants">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="enseingnant">
<xs:complexType>
<xs:sequence>
<xs:element name="CIN" type="xs:string"/>
<xs:element name="NOM" type="xs:string"/>
<xs:element name="PRENOM" type="xs:string"/>
<xs:element maxOccurs="unbounded" name="Tele" type="Tele"/>
<xs:element maxOccurs="unbounded" name="Email" type="Email"/>
<xs:element name="specialite" type="xs:string"/>
<xs:element name="Depatement">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="GI"/>
<xs:enumeration value="TM"/>
<xs:enumeration value="TIMQ"/>
<xs:enumeration value="GIM"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="IDens" type="xs:ID"/>
</xs:complexType>
< !-- Définition de type etudiant !-->

<xs:complexType name="etudiants">
<xs:sequence>
<xs:element name="etudiant" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="CIN" type="xs:string"/>
<xs:element name="NOM" type="xs:string"/>
<xs:element name="PRENOM" type="xs:string"/>
<xs:element maxOccurs="unbounded" name="Tele" type="Tele"/>
<xs:element maxOccurs="unbounded" name="Email" type="Email"/>
<xs:element name="DateDenaissance" type="xs:date"/>
<xs:element name="adresse" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="rue" type="xs:string"/>
<xs:element name="Ville" type="xs:string"/>
<xs:element name="numero" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="IDEtu" type="xs:ID"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>

< !-- Définition de type module !-->

<xs:complexType name="modules">
<xs:sequence>
<xs:element name="module" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Nom" type="xs:string"/>
</xs:sequence>
<xs:attribute name="Coordonnateur" type="xs:IDREF"/>
<xs:attribute name="IDmod" type="xs:ID"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
< !-- Définition de type matière !-->

<xs:complexType name="matieres">
<xs:sequence>
<xs:element name="matiere" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Intitule" type="xs:string"/>
</xs:sequence>
<xs:attribute name="module" type="xs:IDREF"/>
<xs:attribute name="enseingnat" type="xs:IDREF"/>
<xs:attribute name="IDMatiere" type="xs:ID"/>
<xs:attribute name="coefficient" type="xs:double"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>

< !-- Définition de type note !-->

<xs:complexType name="notes">
<xs:sequence>
<xs:element name="note" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="IDEtudiant" type="xs:IDREF"/>
<xs:attribute name="IDMat" type="xs:IDREF"/>
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="DS"/>
<xs:enumeration value="EXAM"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="valeur">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="20"/>
<xs:totalDigits value="4"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
< !—Définition d’un type EST !-->

<xs:complexType name="EST">
<xs:sequence>
<xs:element name="enseignants" type="enseignants" maxOccurs="unbounded"/>
<xs:element minOccurs="1" name="etudiants" type="etudiants" maxOccurs="unbounded"/>
<xs:element name="matieres" type="matieres" maxOccurs="unbounded"/>
<xs:element name="Notes" type="notes" maxOccurs="unbounded"/>
<xs:element name="modules" type="modules" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<!—Définition des contrainte d’intégrité !-->

<xs:element name="EST">
<xs:complexType>
<xs:complexContent>
<xs:extension base="EST"> </xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:key name="IDens">
<xs:selector xpath="enseignants/enseingnant"/>< !-- une clé primaire de l’élément enseignant !-- >
<xs:field xpath="@IDens"/>
</xs:key>
<xs:keyref refer="IDens" name="fk_ems_mod">< !— clé étrangère dans module référence sur un enseignant !-- >
<xs:selector xpath="modules/module"/>
<xs:field xpath="@Coordonnateur"/>
</xs:keyref>

<xs:key name="IDmod">
<xs:selector xpath="modules/module"/>
<xs:field xpath="@IDmod"/>
</xs:key>
<xs:keyref refer="IDmod" name="fk_mat_mod">
<xs:selector xpath="matieres/matiere"/>
<xs:field xpath="@module"/>
</xs:keyref>

<xs:keyref refer="IDens" name="fk_mat_ens">


<xs:selector xpath="matieres/matiere"/>
<xs:field xpath="@enseingnat"/>
</xs:keyref>

<xs:key name="IDEtu">
<xs:selector xpath="etudiants/etudiant"/>
<xs:field xpath="@IDEtu"/>
</xs:key>
<xs:keyref refer="IDEtu" name="fk_note_etu">
<xs:selector xpath="notes/note"/>
<xs:field xpath="@IDEtudiant"/>
</xs:keyref>
<xs:key name="IDMatiere">
<xs:selector xpath="matieres/matiere"/>
<xs:field xpath="@IDMatiere"/>
</xs:key>
<xs:keyref refer="IDMatiere" name="fk_note_mat">
<xs:selector xpath="notes/note"/>
<xs:field xpath="@IDMat"/>
</xs:keyref>

</xs:element>
< !-- XML Valide ! -->

<?xml version="1.0" encoding="UTF-8"?>


<EST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="schema.xsd">
<enseignants>
<enseingnant IDens="E02">
<CIN> M642074 </CIN>
<NOM> Mounir </NOM>
<PRENOM> Ilhame </PRENOM>
<Tele Type="portable"> 0606060606 </Tele>
<Email Type="academique"> mounir.ilhame@uca.ma </Email>
<specialite>info</specialite>
<Depatement>GI</Depatement>
</enseingnant>
<enseingnant IDens="E01">
<CIN> JM4324 </CIN>
<NOM> Chekri </NOM>
<PRENOM> Abderahman </PRENOM>
<Tele Type="fixe"> 05060606060 </Tele>
<Email Type="personnel"> ckekri@gmail.com </Email>
<specialite>info</specialite>
<Depatement>GI</Depatement>
</enseingnant>
</enseignants>
<etudiants>
<etudiant IDEtu="ET01">
<CIN> BK6420737 </CIN>
<NOM> NMILI </NOM>
<PRENOM> Abdelali </PRENOM>
<Tele Type="fixe"> 050505005005</Tele>
<Email Type="personnel"> kader@gmail.com</Email>
<DateDenaissance> 2000-11-17</DateDenaissance>
<adresse>
<rue> Khalil jebrane </rue>
<Ville> El jadida </Ville>
<numero> 310 </numero>
</adresse>
</etudiant>
<etudiant IDEtu="ET02">
<CIN> J2832889 </CIN>
<NOM>NMILI</NOM>
<PRENOM>Abdelali</PRENOM>
<Tele Type="fixe"> 050505005005</Tele>
<Email Type="personnel"> youssef@gmail.com </Email>
<DateDenaissance>2000-11-17</DateDenaissance>
<adresse>
<rue> khalil jebrane </rue>
<Ville> El jadida </Ville>
<numero> 310 </numero>
</adresse>
</etudiant>
</etudiants>
<matieres>
<matiere module="M01" enseingnat="E02" IDMatiere="Mat01" coefficient="50">
<Intitule> JavaScript </Intitule>
</matiere>
<matiere module="M02" enseingnat="E01" IDMatiere="Mat02" coefficient="50">
<Intitule> Analyse Numerique </Intitule>
</matiere>
</matieres>
<Notes>
<note type="DS" IDEtudiant="ET01" valeur="20" IDMat="Mat01"></note>
<note type="EXAM" IDEtudiant="ET01" valeur="20" IDMat="Mat01"></note>
</Notes>
<modules>
<module IDmod="M01" Coordonnateur="E02">
<Nom> Info Numerique </Nom>
</module>
<module IDmod="M02" Coordonnateur="E02">
<Nom> Network </Nom>
</module>
<module IDmod="M03" Coordonnateur="E01">
<Nom> Info Numerique </Nom>
</module>
</modules>
</EST>

You might also like