Conception et Développement XML

Page 1 sur 12 Examen XML ESIAL 10/23/2007. ESIAL 3A (14/11/2007). Durée :
2heures. Conception et Développement XML. Cours autorisé. TPs et TDs ...

Part of the document


ESIAL 3A (14/11/2007) Durée : 2heures Conception et Développement XML Cours autorisé
TPs et TDs bannis Note : le barème est donné à titre indicatif
1) Document bien formé (1,5 pt) 4) Schéma W3C (2pts) Précisez si les éléments de Schéma et les types suivant sont en accord avec
le document journal.xml (en annexe). Justifiez et complétez/corrigez le cas
échéant. a) On donne tout d'abord une définition de type. Il s'agit du type associé
à un élément ''journal''.





FAUX : le maxOccurs de dossier ne doit pas être à 1
b)




FAUX : Ici, la valeur de max exclusive doit être 4, et non pas 10
c)




VRAI : tout est ok.
d)








FAUX : préciser le minOccurs à 0 pour le résumé.
3)XPATH.(3pts) Répondez aux questions suivantes avec des expressions XPATH. Ces questions
portent sur le document journal.xml (en annexe).
a) Les titres de tous les articles //titre/text()
b) Les titres des articles de la première page //titre[../pages/page="1"]/text()
c) Les titres des articles dont le résumé contient le mot « me ». //resume[contains(text(),"me")]/../titre/text()
//titre[contains(../resume/text(),"me")]/text() Que donnent les expressions Xpath, sur le document journal.xml (en annexe).
d) //article[@auteur=''aut1''][resume]/@href http://www.lejournalimaginaire.fr/#3
e) //article[count(.//page)>1]/titre/text() Razzia sur les sacs
f) //auteur[contains(nom, ''Robert'')]/nomDePlume Bob
4) XSLT -1-(3pt) Expliquez ce que font les transformations suivantes appliquées au fichier
journal.xml (en annexe). Lorsque cela est demandé, écrivez le fichier de
sortie produit. a) Quel est le fichier de sortie lorsqu'on applique le fichier de
transformation suivant au fichier journal.xml?





ceci est un journal

On obtient un simple fichier xml ne contenant que l'entête
b) Expliquez ce que l'on obtient lorsqu'on applique le fichier de
transformation suivant au fichier journal.xml?







On obtient un simple fichier xml de structure similaire cependant, tout
les élements portent le nom « balise » et leur contenu est le nom de
l'élément d'origine. (Appel récursif du template). Touttes les infos
contenues dans les attributs ont disparus.

journalnomJournal
date
auteursauteurnom
nomDePlume

auteurnom
nomDePlume

auteurnom
nomDePlume


dossierarticletitre
pagespage
page

resume

articletitre
pagespage

resume


dossierarticletitre
pagespage

resume

articletitre
pagespage



c) Quel est le fichier de sortie lorsqu'on applique le fichier de
transformation suivant au fichier journal.xml?









Dossier :





-
(par: )


Attention, on n'affiche que les articles qui ont un résumé.


Le journal imaginaire
Dossier 1 : Actualités
- Razzia sur les sacs
(par: Bob)
- Où sont mes petits souliers ?
(par: Leo)
Dossier 2 : Vie quotidienne
- La morue aux fraises est de retour.
(par: Nanar)


5) XSLT -2- (3pts) Donner un fichier XSL pour chacune des transformations du fichier
journal.xml (en annexe) suivantes :
a) Obtenir un document xml ne contenant que les éléments ''article''.
Ajouter à chacun de ces éléments, un élément fils contenant le nom de
plume de l'auteur. Le sujet ne précise pas si il faut recopier les attributs... je l'ai
fait.. ici, on est pas obligé non plus d'utiliser xsl :element












Hop





b) Obtenir un document xml contenant des éléments ''pseudo''. Ces
éléments contiennent les noms de plume des auteurs. La encore, pas nécessaire d'utiliser xsl :element...














c) Obtenir un document xml contenant les mêmes informations, mais qui n'a
pas recours aux attributs (les attributs deviennent des éléments)
La encore, par contre, on doit d'utiliser xsl :element...attention, il
faut utiliser un appel à template sur attributs explicitement, car le
apply-templates ne se passe par défaut que vers les fils, pas les
attributs


















Remarque :
En XSL, l'élément permet la création dynamique
d'éléments :
.
Exemple : Mon texte produit
l'