TPs sur les schémas XML TP numér 1 : Sient les deux instances de dcuments XML suivantes : Examen1. xsd <element name="examen"> <cmplextype> <sequence> <element ref="exm:exercice"/> </sequence> </cmplextype> </element> Examen2. xsd <xsd:element name="examen"> <xsd:cmplextype> <xsd:sequence> <xsd:element ref="exercice" /> </xsd:sequence> </xsd:cmplextype> </xsd:element> Cmpléter les en-têtes des schémas Examen 1.xsd et Examen 2.xsd relativement à l utilisatin des espaces de nms. TP numér 2 : Transpsez la DTD suivante en un schéma XSD et prpsez des améliratins pur rendre le type plus précis : <!ELEMENT livres (livre*)> <!ELEMENT livre (titre, auteur+, année, prix)> <!ATTLIST livre editin CDATA #REQUIRED> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (prenm, nm, labratire?, pays)> <!ELEMENT prenm (#PCDATA)> <!ELEMENT année (#PCDATA)> <!ELEMENT prix EMPTY> <!ATTLIST prix mnnaie CDATA #REQUIRED valeur CDATA #REQUIRED> <!ELEMENT pays (#PCDATA)> TP numér 3 : Sit la DTD suivante qui indique que l rdre d apparitin des éléments identificatin, titre et salaire n est pas imprtant, dnner une slutin à l aide d un schéma XML qui évite l énumératin des cmbinaisns autrisées. <!ELEMENT RegistreEmplye (Emplye)+>
<!ELEMENT Emplye (nm, psitin, salaire) (nm, salaire, psitin) (psitin, salaire, nm) (psitin, nm, salaire) (salaire, nm, psitin) (salaire, psitin, nm) > <!ELEMENT psitin (#PCDATA)> <!ELEMENT salaire (#PCDATA)> TP numér 4 : Écrivez un schéma XSD pur les dcuments recettes de cuisine, cmme par exemple le fichier suivant. <?xml versin="1.0" encding="iso-8859-1"?> <recette> <nm>oeufs à la cque</nm> <prtin>4</prtin> <preparatin value="1" unit="min"/> <cuissn value="3" unit="min"/> <ingredients> <i><nm id="ing1">eufs</nm><nbre>4</nbre></i> </ingredients> <guide> Plngez délicatement les <renvi ref="ing1">eufs</renvi> dans de l'eau prtée à ébullitin. Faîtes reprendre l'ébullitin, puis baissez le feu et laissez cuire à petits buillns pendant <cuissn value="3" unit="min"/> minutes. Éguttez les <renvi ref="ing1">eufs</renvi>, psez-les dans des cquetiers et cupez hrizntalement la partie supérieure pur les déguster. </guide> </recette> TP numér 5 : I. Déclaratins d'éléments Rédiger un Schéma XML pur une bibligraphie. Cette bibligraphie : cntient des livres et des articles ; les infrmatins nécessaires pur un livre (élément livre) snt : sn titre général (élément titre) ; les nms des auteurs (éléments auteur) ; ses tmes (élément tmes) et pur chaque tme (éléments tme), leur nmbre de pages (élément pages) ; des infrmatins générales sur sn éditin (élément infseditin)cmme par exemple le nm de l'éditeur (élément editeur), le lieu d'éditin (élément lieueditin), le lieu d'impressin (élément lieuimpressin), sn numér ISBN (élément ISBN) ; les infrmatins nécessaires pur un article (élément article) snt : sn titre (élément titre) ;
les nms des auteurs (éléments auteur) ; ses références de publicatin (élément infspublicatin) : nm du jurnal (élément nmjurnal), numér des pages (élément pages), année de publicatin (élément anneepublicatin) et numér du jurnal (élément numérjurnal) n réservera aussi un champ ptinnel, pur chaque livre et chaque article, pur un avis (élément avis) persnnel. II. Déclaratins d'attributs Mdifier le Schéma précédent... On ne déclarera, pur le mment, que des types de chaînes de caractères.... en ajutant un attribut ptinnel sustitre à l'élément titre ;... en faisant de l'élément tme un élément vide et en lui ajutant un attribut requis nbpages et un attribut ptinnel sustitre ;... en faisant de l'élément nmjurnal un attribut de l'élément infspublicatin et en lui dnnant cmme valeur par défaut Feuille de Chu ; III. Déclaratins de types Nus allns mdifier le Schema précédent pur tirer parti des fnctinnalités additinnelles de ce frmat, relatives aux types de dnnées. III.1 Utilisatin des types intégrés 1. L'élément pages dit être un entier psitif, ainsi que l'élément numérjurnal. 2. L'élément anneepublicatin dit être déclaré cmme... une année. III.2 Déclaratins de types Nus allns maintenant définir ns prpres types de dnnées, en les dérivant par rapprt aux types intégrés. 1. Définir un type simple nmmé typeisbn, basé sur une restrictin du ype xsd:string, se limitant à une chaîne de caractères cmpsée de 10 chiffres. L'utiliser dans la déclaratin de l'élément ISBN. 2. En s'inspirant de l'exemple dnné en curs du frmatage d'une adresse électrnique, déclarer un type typepages, basé sur une restrictin du type xsd:string, se limitant à un nmbre, puis la chaîne de caractères " à ", puis un autre nmbre. TP numér 6 : Sit la DTD suivante qui indique que l rdre d apparitin des éléments identificatin, titre et salaire n est pas imprtant, dnner une slutin à l aide d un schéma XML qui évite l énumératin des cmbinaisns autrisées. <!ELEMENT RegistreEmplye (Emplye)+> <!ELEMENT Emplye (nm, psitin, salaire) (nm, salaire, psitin) (psitin, salaire, nm) (psitin, nm, salaire) (salaire, nm, psitin) (salaire, psitin, nm) > <!ELEMENT psitin (#PCDATA)>
<!ELEMENT salaire (#PCDATA)> TP numér 7 : Sit le dcument cmpanie.xml suivant <Cmpanie> <Adresse xsi:type="ville-addresse"> <Nm>Bureau Principal</Nm> <Rue>La victire.</rue> <Ville>Rabat</ Ville > <Pays>Marc</Pays> <CP>10000</CP> </Adresse> <Divisin> <Divisin-Nm>Infrmatique</Divisin-Nm> <Lcalité>Rabat</Lcalité> <Persnne Manager="true" Diplôme="MASTER"> <Nm>Alimi</Nm> <Prénm>Adil</Prénm> <Tel>0375111</Tel> <EMail>aa@wrk.cm</EMail> </Persnne> <Persnne Manager="false" Diplôme="Phd"> <Nm>Brssi</Nm> <Prénm>Jalil</Prénm> <Tel>0375222</Tel> <EMail>BJ@wrk.cm</EMail> </Persnne> </Divisin> <Divisin>. </Divisin> </Cmpanie> Dans le cas ù c est pssible, indiquez cmment les cntraintes suivantes peuvent être représentées via un schéma XML La valeur de Diplôme est sit MASTER sit Phd en utilisant la facet énumératin Une adresse e-mail dit être de la frme «string.string@string» en utilisant la facet pattern pur les strings VILLE-Adresse est une extensin de Adresse à laquelle n ajute les éléments state et CP en utilisant l extensin des types cmplex L élément CP a une valeur cmprise entre 1000 et 4000 en utilisant la facet mininclusive et maxinclusive TP numér 8 : On cnsidère le dcument XML suivant: <université> <Etudiant matrn= 325422 >
<nm> <Nm>Mike</Nm> <Prénm>Dwn</Prénm> </nm> <Lecture lecture= Intrductin aux Databases /> <Lecture lecture= Intrductin à l IA /> </ Etudiant > < Assistant emplyeen= 134234 > < nm > <N>Dminik</N> <P>Luebbers</P> </ nm > <lecture= Intrductin aux Databases /> <identité> <cin num= A325422 /> </ identité > <email>amine@ht.edu</email> <tel>8021512</tel> </Assistant> </université> On suppse que: - matrn et emplyeen snt des integers de lngueurs 6 ne dépassant pas 999999. (utiliser la facet mininclusive et maxinclusive d integer [100000, 999999]) - Assistant peut rganiser au maximum une lecture. (utiliser la cardinalité maxccurence = 1) - Assistant peut avir une u plusieurs email adresses. (utiliser la cardinalité minccurence= 1 et maxccurence = unbunded) - Nm et Prénm snt des chaînes de caractères de lngueur ne dépassant pas les tris caractères. (utiliser la facet length pur les strings) - N et P ainsi que Nm et Prénm snt utilisés de manière équivalente. (Utiliser le mécanisme de substitutin Grup)