Examen XML - Examen corrige
13 janv. 2007 ... On corrige avec « yes ». ... ELEMENT examen (titre, date, questions) >. <! ....
Trouvez les expressions XPath qui retournent les informations ...
part of the document
ESIAL 3A 13 Janvier 2007
Examen XML
Durée : 2 heures
Documents autorisés
Exercice 1: Syntaxe XML ( 2 points) : De 1 à 4 (1 point) et de 5 à 9 (1 point)
L'auteur du document XML suivant a cru pouvoir rédiger son document en se passant d'un éditeur XML. Aidez
le à corriger les erreurs quil contient pour quil puisse être bien formé.
Solution :
1- Mauvaise valeur pour standalone. On corrige avec « yes ».
2- Attributs répétés dans lélément titre. Il faut en changer un, par exemple en mettant une
majuscule.
3- au lieu de .
4- Attribut avec valeur non quotée . On ajoute les quotes.
5- Balises b et i non rapprochées. On interverti.
6- Attribut sans valeur . On met une valeur.
7- Il y a ]]> dans CDATA, ce qui peut être interprété comme la fin de section CDATA. On
ajoute un blanc.
8- Balise non fermée . On ferme.
9- Texte hors contenu "fin du document". On met en commentaire, ou on déplace le texte
dans le corps du document.
Exercice 2: Syntaxe et Construction de DTD (4 points): 0,5+0,5+0,5+2 ,5 points
Pour chacun des documents 1,2,3, indiquez sil est valide ou pas. Quand le document nest pas valide, indiquez la nature de lerreur (ou des erreurs). Les documents sont indépendants les uns des autres.
1.
]>
du texte x ne correspond pas à bold
2.
OK
]>
ljs sldjf sljd
mmmqmm qqq mmm qq
3.
]>
Et voilà
Lélement est de trop.
4.
Exercice 3: Des DTD vers les schémas ( 4 points) :
2 points pour un schéma sans les caractéristiques
2 points pour les caractéristiques.
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
Solution :
Exercice 4: Chemins XPath (3 points) : 0,5+ 0,5,+0,5+ 0,5+ 0,5+ 0,5 points)
Voici un extrait du fichier qui contient la liste des gagnants du booker prize (liste de livres avec leur auteur et l'année de l'obtention du prix).
SHAPE \* MERGEFORMAT
Trouvez les expressions XPath qui retournent les informations suivantes (on ne suppose que le contexte initial est l'élément racine de nom booker):
l'auteur du sixième livre dans la liste
Solution : //award[6]/author
le titre du livre qui a gagné en 2000
Solution : //award[year='2000']/title
le nom de l'auteur du livre intitulé "Possession"
Solution : //award[title='Possession']/author
le titre des livres dont "J M Coetzee" est l'auteur
Solution : //award[author='J M Coetzee']/title
le nom de tous les auteurs dont le livre a gagné depuis 1995
Solution : //award[year > '1995']/author
le nombre total de prix décerné
Solution : count(//award)
Exercice 5 : Programmation XSLT ( 7 points ) : (1+2+2+2 points)
1.
Dans cet exercice on travaille sur un document XML, Cours.xml qui contient des informations sur des cours en informatique comme indiqué en annexe. Donnez le résultat de la transformation du document suivant appliqué à Cours.xml
-------------------------------------------------Commerce ElectroniqueSalle: Amphi AModules : PHP et MySQL, XMLInscrits (note): I235678 (16) I784451F569834-------------------------------------------------Bases de donnéesSalle: PainlevéModules : SQL, OptimisationInscrits (note): A675432 (14) B455978B568709 (12)
2.
Modifiez le programme afin quil affiche dune part uniquement les numéros détudiants qui possèdent une note , et dautre part, les enseignants pour chaque module (entre parenthèses après le nom du module).
Solution :
-------------------------------------------------
Salle :
Modules :
Inscrits (note):
-
()
(
,
)
,
Ce qui donne :
-------------------------------------------------
Commerce Electronique
Salle : Amphi A
Modules : PHP et MySQL ( Enseignant1 ), XML ( Enseignant2 , Enseignant3 )
Inscrits (note):
- I235678 (16)
-------------------------------------------------
Bases de données
Salle : Painlevé
Modules : SQL ( Enseignant2 ), Optimisation ( Enseignant4 )
Inscrits (note):
- A675432 (14)
- B568709 (12)
3.
à venir...
4.
PAGE
PAGE 7
Kingsley Amis
The Old Devils
1986
[
]
[
]