60 likes | 178 Views
Support des connaissances TP1 Validation XML – DTD - XPATH. M2 – IO MER. Pierre.sournac@gmail.com. Ce TP sera réalisé à partir de l’outil NOTEPAD++ et du PLUGIN XML TOOLS Un package portable (utilisable sans installation) est disponible ici. Prise en main. Prise en main.
E N D
Support des connaissancesTP1Validation XML – DTD - XPATH M2 – IO MER Pierre.sournac@gmail.com
Ce TP sera réalisé à partir de l’outil NOTEPAD++ et du PLUGIN XML TOOLS Un package portable (utilisable sans installation) est disponible ici Prise en main
Prise en main Vérifier la syntaxe XML : document bien formé Valider un DOCUMENT : Conformité à une DTD Retrouver un chemin de nœud XPATH Utiliser des requêtes XPATH Réaliser des transformations XSL
EXERCICE 1 : ANNUAIRE • À partir de l’analyse du fichier Annuaire.xml : • Le document est-il bien formé ? • S’il ne l’est pas, listez et corrigez les erreurs. • Le DTD du fichier Annuaire.xml est déclaré dans son entête. • Modifier le fichier annuaire.dtd pour qu’il valide Annuaire.xml • On souhaite pouvoir gérer en plus, les numéros de téléphone et les emails pro. Modifier le DTD en conséquence. • Modifier le DTD pour l’attribut JOB n’autorise que les valeurs : prof – etudiant – secretaire
Un peu de XPATH • <1 CDlist> • <2 CD> • <3 ISBN>4972-5121-X</ISBN> • <4 composer>Johannes Brahms</composer> • <5 performance> • <6 composition>Piano Concerto No. 2</composition> • <7 soloist>Emil Gilels</soloist> • <8 orchestra>Berlin Philharmonic</orchestra> • <9 conductor>Eugen Jochum</conductor> • </performance> • <10 performance> • <11 composition>Fantasias Op. 116</composition> • <12 soloist>Emil Gilels</soloist> • </performance> • <13 performance> • <14 composition>Fantasias Op. 110</composition> • <15 orchestra>Berlin Philharmonic</orchestra> • </performance> • <16 publisher>Deutsche Grammophon</publisher> • <17 length>PT1H13M37S</length> • </CD> • </CDlist> 1): toutes les compositions 2): toutes les compositions ayant au moins un "soloist" 3): toutes les performances avec un seul "orchestra" mais pas de "soloist" 4): tous les soloists ayant joué avec le Berlin Philharmonic sur un CD publié par Deutsche Grammophon 5): tous les CDs comportant des performances du Berlin Philharmonic
EXERCICE 2 : reservationRoom • Participants en 2013 à un meeting de la room Gallois • Les titres des meetings réservés par JP Alquier • Les dates (seulement les jours dans le mois) des meetings en lien avec XML (i.e. titre ou commentaire contenant XML) • Les participants des meetings ayant eu lieu dans la même room qu’un meetingauquel Celine Maraninchi a participé • Les roomsdans lesquelles ont eu lieu 3 meetings le même jour • Les rooms dans lesquelles ont lieu toujours au moins trois meetings chaque jour où elles sont occupées • Les meetings ayant lieu le jour où le meeting « Roadmap » se déroule. • Les rooms dans lesquelles ont eu lieu 3 meetings le même jour • Les rooms dans lesquelles ont lieu toujours au moins trois meetings chaque jour où elles sont occupées • Les meetings ayant lieu le jour où le meeting « Roadmap » se déroule. //room[.//individual = 'Celine Maraninchi ']//participant/* ou bien //participant[ancestor::room/@name = //room[.//individual = 'Celine Maraninchi ']/@name]/*