Affichage des articles dont le libellé est Exercices XML. Afficher tous les articles
Affichage des articles dont le libellé est Exercices XML. Afficher tous les articles

vendredi 28 décembre 2012

Exercice : DTD vers les schémas XSD


Objectif: Les schémas permettent de décrire les modèles de données de façon plus précise.
Transposez la DTD Livres.dtd en un schéma XSD avec les caractéristiques suivantes :

    •Une année est une chaîne de 4 caractères compris dans l'espace 0...9
    •Un livre contient exactement un titre, un prix, une année et au moins un auteur. De plus, on
       associe à des éléments de ce type l'attribut "edition" qui précise si il s'agit d'un paperback
       ou d'une édition reliée.
    •Un prix est un type complexe, on lui associe deux attributs: "valeur" et "monnaie" ("monnaie" a
       un type qui dérive de "string", son champs de valeur se limite aux chaînes "USD" et "EUR")

Livres.dtd
    <!ELEMENT livres (livre*)>
    <!ELEMENT livre (titre, auteur+, année, prix)>
    <!ATTLIST livre edition CDATA #REQUIRED>
    <!ELEMENT titre (#PCDATA)>
    <!ELEMENT auteur (prenom, nom, laboratoire?, pays)>
    <!ELEMENT nom (#PCDATA)>
    <!ELEMENT prenom (#PCDATA)>
    <!ELEMENT année (#PCDATA)>
   <!ELEMENT laboratoire (#PCDATA)>
    <!ELEMENT prix EMPTY>
    <!ATTLIST prix
       monnaie CDATA #REQUIRED
       valeur CDATA #REQUIRED>
    <!ELEMENT pays (#PCDATA)>

Solution :

jeudi 22 novembre 2012

Exercice1 (bouteille) XML



XML permet de structurer une information. Il est donc nécessaire, avant d'envisager d'utiliser ce format, de se familiariser avec cette structuration.
Le paragraphe suivant contient de l'information "en vrac". Réorganisez-la de manière à mettre en évidence sa structure logique, sans forcément passer par une mise en forme XML.

Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifs calcium, et 5,5 mg d'ions positifs magnésium. On y trouve également des ions négatifs comme des chlorures à 20 mg par litre et des nitrates avec 1 mg par litre. Elle est recueillie à St-Cyr la Source, dans le département du Loiret. Son code barre est 3274080005003 et son pH est de 7,45. Comme la bouteille est sale, quelques autres matériaux comme du fer s'y trouvent en suspension.
Une seconde bouteille d'eau Cristaline a été, elle, recueillie à la source d'Aurèle dans les Alpes Maritimes. La concentration en ions calcium est de 98 mg/l, et en ions magnésium de 4 mg/l. Il y a 3,6 mg/l d'ions chlorure et 2 mg/l de nitrates, pour un pH de 7,4. Le code barre de cette bouteille de 50 cl est 3268840001008.
Une bouteille de même contenance est de marque Volvic, et a été puisée à... Volvic, bien connu pour ses sources donnant un pH neutre de 7. Elle comprend 11,5 mg/l d'ions calcium, 8,0 mg/l d'ions magnésium, 13,5 mg/l d'ions chlorures et 6,3 mg/l d'ions nitrates. Elle contient également des particules de silice. Son code barre est 3057640117008.

PS : Volvic est dans le Puy-de-Dôme...


Corrigé


<cave>
<bouteille>
<marque>Cristaline</marque>
<composition>
<ion type="positif">calcium 71mg/l</ion>
<ion type="positif">magnésium 5,5mg/l</ion>
<ion type="negatif">chlorure 20mg/l</ion>
<ion type="negatif">nitrate 1mg/l</ion>
<autre type="metal">fer</autre>
</composition>
<source>
<ville>St-Cyr la Source</ville>
<departement>Loiret</departement>
</source>
<code_barre>3274080005003</code_barre>
<contenance unit="cl">150</contenance>
<ph>7,45</ph>
</bouteille>
<bouteille>
<marque>Cristaline</marque>
<composition>
<ion type="positif">calcium 98mg/l</ion>
<ion type="positif">magnésium 4mg/l</ion>
<ion type="negatif">chlorure 3,6mg/l</ion>
<ion type="negatif">nitrate 2mg/l</ion>
</composition>
<source>
<ville>Aurèle</ville>
<departement>Alpes Maritimes</departement>
</source>
<code_barre>3268840001008</code_barre>
<contenance unit="cl">50</contenance>
<ph>7,4</ph>
</bouteille>
<bouteille>
<marque>Volvic</marque>
<composition>
<ion type="positif">calcium 11,5mg/l</ion>
<ion type="positif">magnésium 8mg/l</ion>
<ion type="negatif">chlorure 13,5mg/l</ion>
<ion type="negatif">nitrate 6,3mg/l</ion>
</composition>
<source>
<ville>Volvic</ville>
<departement>Puy-de-Dôme</departement>
</source>
<code_barre>3057640117008</code_barre>
<contenance unit="cl">50</contenance>
<ph>7</ph>
</bouteille>
</cave>