Controle pratique

Exercice I

TP XML, DTD, XSL, DOM, SVG

A - Enoncé du probléme

Nous nous proposons d’utiliser les données du fichier mondial.xml pour créer un nouveau modèle de fichier contenant les données qui nous intéressent. Le nouveau fichier sera nommé “monde.xml” et sera généré automatiquement en utilisant une transformation XSLT.
La structure de ce fichier correspondra au modèle suivant :

-> L’attribut @continent doit coit contenir l’une des valeurs suivantes : (Afrique, Asie, Europe, Amérique, Australie)
-> L’attribut @année doit contenir l’année du recensement.
-> L’attribut @pays doit correspondre au code d’un pays.

B - Travail demandé

1 - Etablir la DTD permettant de valider ce document
2 - Etablir le schéma XML permettant de valider ce document
3 - Ecrire la feuille de styles XSL permettant de générer ce document.
4 - Ecrire une feuille de styles XSL permettant d’afficher tous les pays triés avec leurs populations et religions :
- Sous forme HTML (population, religions)
- Sous forme HTML (population, religions (sous form de barres horizontales proportionnelles aux nombres))
- Sous format SVG avec des barres horizontales.


Exercice II

A - Enoncé du probléme XSL

Dans un site dédié au sport en général et au football en particulier, les données sont souvant partagées sous format XML.

Dans notre situation, on considére que nous avons reçu les résultats bruts d'un tournoi de football. Le tournoi est joué par quatre équipes dont les noms sont "AAAA", "BBBB", "CCCC" et "DDDD". Chaque équipe a joué un match avec chacune des trois autres équipes. Les équipes seront classées selon les points obtenu lors des différents matchs. Un match gagné vaut deux points, un match perdu vaut zéro point et un match nul vaut un point pour les deux équipes.

Voici le code XML représentant les résultats des matchs :

B - Travail demandé

Creer les feuilles de style XSL permettant d'afficher les résultats suivants :

1 - Afficher la liste des matchs joués

Rendu recherché (tournoi1.xsl):

Match Date Score
AAAA-BBBB 2012-12-20 - 18:00:00 3-0
CCCC-DDDD 2012-12-20 - 20:00:00 1-1
AAAA-CCCC 2012-12-21 - 18:00:00 2-4
BBBB-DDDD 2012-12-21 - 20:00:00 7-0
AAAA-DDDD 2012-12-22 - 18:00:00 3-2
CCCC-BBBB 2012-12-22 - 20:00:00 5-1

Code HTML résultat :

2 - Afficher la liste des matchs joués et les points gagnés

Rendu recherché (tournoi2.xsl) :

Match Equipe1 Points Equipe2 Points
1 AAAA 2 BBBB 0
2 CCCC 1 DDDD 1
3 AAAA 0 CCCC 2
4 BBBB 2 DDDD 0
5 AAAA 2 DDDD 0
6 CCCC 2 BBBB 0

Code HTML résultat :

3 - Afficher la liste des matchs et les buts marqués ou encaissés

Rendu recherché (tournoi3.xsl) :

Equipe Buts marqués Buts encaissés Points
AAAA 3 0 2
AAAA 2 4 0
AAAA 3 2 2
BBBB 0 3 0
BBBB 7 0 2
BBBB 1 5 0
CCCC 1 1 1
CCCC 4 2 2
CCCC 5 1 2
DDDD 1 1 1
DDDD 0 7 0
DDDD 2 3 0

Code HTML résultat :

4 - Afficher la liste des équipes jouant dans le tournoi.

Rendu recherché (tournoi4.xsl) :

EQUIPES
AAAA
BBBB
CCCC
DDDD

Code HTML résultat :

5 - Afficher la liste des équipes et le total des points gagnés.

Rendu recherché (tournoi5.xsl) :

EQUIPES POINTS
AAAA 4
BBBB 2
CCCC 5
DDDD 1

Code HTML résultat :

6 - Afficher la liste des équipes classées.

Rendu recherché (tournoi6.xsl) :

EQUIPES POINTS
CCCC 5
AAAA 4
BBBB 2
DDDD 1

Code HTML résultat :