Université Pierre et Marie Curie - Paris 6 - UFR 922 - Licence d ...
... de la table des matières vers l'énoncé et le corrigé de l'exercice considéré. .....
Le nombre de réponses correctes données lors d'un test de connaissance ...... P(
VS1) = P(VL1) = 0,15 ; P(VS2) = P(VL2) = 0,3 ; P(NV1) = 0,7 ; P(NV2) = 0,4. ....
par des études complémentaires en informatique ; soit elle commencera par les ...
part of the document
ESIAL
Corrige Examen XML 2008
documents autorisés Durée : 2h
Exercice 1 : XML et DTD 5 points
On considère la DTD Univ.dtd suivante décrivant une base de données pour la gestion dune université :
Question 1. Indiquez les raisons pour lesquelles le document ci-dessous n est pas valide, et corrigez les
erreurs.
Toto
bases de données
Titi
langage
LI345
bases de données et sites Web
LI349
compilation
Amphi B1
Amphi B2
1 point
Réponse : pb de casse pour universite, mettre tt en minuscule.
Manque la balise fermante de code.
Salle est un élément vide,et ne contient donc pas lélément numéro.
Lordre des éléments (mettre par paquet (enseignant, cours, salle) nest pas respecté.
Question 2. Complétez la DTD Univ.dtd pour prendre en compte les informations suivantes (écrire seulement la ou les lignes modifiées ou ajoutées) :
a) Un enseignant enseigne plusieurs matières
1 pointRéponse :
b) Un enseignant enseigne plusieurs cours
1 point
c) Un cours a lieu dans une salle
1 point
d) On veut pouvoir gérer les étudiants dans la base. Un étudiant a un nom, un numéro et suit des cours.
1 point
Exercice 2 : Xpath 3 points
On considère la DTD dtdVente.dtd suivante décrivant une base de données pour la gestion de ventes de produits.:
(Requêtes Xpath)
Exprimez en Xpath les requêtes suivantes, portant sur un document conforme à la DTD dtdVente.dtd. Si
la requête demandée n'est pas exprimable en Xpath, justifiez.
1) L'identifiant des clients ayant acheté le produit P1
1 point
//commande[ligne/@prod='P1']/@client
2) L'adresse des clients ayant acheté le produit P1
1 point
//client[//commande[ligne/@prod='P1']/@client=@ident]/adresse
3) Le nombre de commandes passées par le client C1
1 point
count(//commande[@client='C1'])
Exercice 3 : SCHEMA (4points) 1 point par question
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)
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)
< xsd:attribute name="auteur" type="xsd:string"/>
FAUX : préciser le minOccurs à 0 pour le résumé.
Exercice 4 : XSLT (8points)
Soit le fichier XML suivant représentant un carnet dadresses :
Jean
Chenier
Marie
Pariseau
Jean
Poirier
Donner pour chaque programme XSLT qui suit le résultat de sa transformation appliqué au fichier carnet dadresse :
a/ 1 point
Marie Pariseau
b/ 1 point
Marie
Pariseau
c/ 1 point
Chenier Pariseau
d/ 1 point
aa
bb
bb
2) Quelle sortie correspond à ce code suivant (à justifier) 0,5 point
Règles par défauts : JeanChenierMariePariseauJeanPoirier
3)
Obtenir un document xml contenant des éléments pseudo. Ces éléments contiennent les noms de plume des auteurs. 1,5 point
La encore, pas nécessaire dutiliser xsl :element
Résultat :
Leo
Bob
Nanar
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 lauteur. 2 point
Le sujet ne précise pas si il faut recopier les attributs
je lai fait.. ici, on est pas obligé non plus dutiliser xsl :element
Hop
Résultat
Hop
Razzia sur les sacs
1
3
Y en avait mais y en a plus.
Hop
Où sont mes petits souliers ?
4
Quelqu'un me les a volé.
Hop
La morue aux fraises est de retour.
2
Miamm
Hop
Les hannetons se cachent-il pour mourir?
4
Fichier : journal.xml
Le journal imaginaire
03/01/2006
Leonard Dicarpaccio
Leo
Robert Laserviette
Bob
Bernard Lelièvre
Nanar
Razzia sur les sacs
1
3
Y en avait mais y en a plus.
Où sont mes petits souliers ?
4
Quelqu'un me les a volé.
La morue aux fraises est de retour.
2
Miamm
Les hannetons se cachent-il pour mourir?
4