INaLCO - M2 Traductique
Introduction à XML
Jean-François
Perrot
Un exemple avec DOM et XSLT
Version en PHP
- Présentation
- Consultations globales
- Opérations locales
- Consultation de la note d'un élève donné
- Modification ou ajout d'une note pour un élève donné
- Exercices
Présentation
Synthèse sur les mérites comparés de DOM et de XSLT, sur un cas d'école
: gestion d'un ensemble de noms et notes dans différentes matières (Mathématiques,
Physique, Chimie, Informatique).
Pour chaque matière, le système des noms et notes est contenu dans un
fichier XML au format "représentation par attributs", sur le modèle :
<?xml version="1.0" encoding="UTF-8"?>
<liste>
<matière>Chimie</matière>
<eleve nom="Hélène" note="16"/>
<eleve nom="Pierre" note="12"/>
<eleve nom="Joëlle" note="15"/>
<eleve nom="Paul" note="13"/>
<eleve nom="Françoise" note="19"/>
<eleve nom="Jacques" note="17"/>
</liste>
Ces fichiers sont exploités de diverses manières, en consultation et en
modification.
- Les opérations de consultation globales (affichages divers,
calcul de la moyenne) sont réalisées par XSLT
- Les consultations "locales" comme la demande d'une note
individuelle, qui demande qu'on fournisse un nom,
et les modifications, qui demandent qu'on fournisse un nom et une note,
nécessitent le recours à DOM.
Consultations globales
Par suite, les consultations globales sont toutes réalisées par un seul
script PHP, qui se contente d'appliquer la transformation XSLT idoine
au fichier XML correspondant à la matière choisie : VoirNotes.php
Il est commandé par la page HTML VoirNotes.html
.
Les consultations disponibles sont actuellement :
On trouvera des explications sur ces feuilles de style en fouillant dans les notes de cours sur XSLT.
-
Opérations locales
Chacune demande un script PHP spécifique, commandé par un page HTML ad hoc.
-
Exercices
Thèmes d'imitation sur les consultations globales.
Commencez par importer l'ensemble du système et faites-le fonctionner chez vous (i.e. sur votre serveur local).
- Ajoutez l'affichage en liste avec ligne séparatrices vu en cours le 21/02 (
listHR.xsl
).
- Ajoutez un affichage en table dans l'ordre alphabétique des noms.
- Ajoutez un affichage en liste par ordre de mérite (ordre décroissant des notes).
- Ajoutez un affichage donnant la proportion d'élèves ayant une note supérieure à la moyenne (10/20).