XSLT (opérations avancées) : Numérotation et ordonnancement

Trier et numéroter un groupe de personnes

Le but de cet exercice est de trier et numéroter plusieurs groupes de personnes à partir d'un fichier XML.

Celui-ci se fera en 2 temps.

1 - Obtenir un XML avec les personnes triés au sein des groupes.

2 - A partir de cet XML intermédiaire, numéroter les personnes de chaque groupes.

Voici le fichier XML source :

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
2
<?xml-stylesheet type="text/xsl" href="TrierPersonnes.xsl"?>
3
<TD>
4
    <Groupe>
5
        <Personne>
6
            <Nom>Coco</Nom>
7
            <Prenom>Toto</Prenom>
8
        </Personne>
9
        <Personne>
10
            <Nom>Coco</Nom>
11
            <Prenom>Tata</Prenom>
12
        </Personne>
13
    </Groupe>
14
    <Groupe>
15
        <Personne>
16
            <Nom>Zarki</Nom>
17
            <Prenom>Emile</Prenom>
18
        </Personne>
19
        <Personne>
20
            <Nom>Houla</Nom>
21
            <Prenom>Houla</Prenom>
22
        </Personne>
23
        <Personne>
24
            <Nom>Pif</Nom>
25
            <Prenom>Paf</Prenom>
26
        </Personne>
27
    </Groupe>
28
</TD>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="TrierPersonnes.xsl"?>
<TD>
    <Groupe>
        <Personne>
            <Nom>Coco</Nom>
            <Prenom>Toto</Prenom>
        </Personne>
        <Personne>
            <Nom>Coco</Nom>
            <Prenom>Tata</Prenom>
        </Personne>
    </Groupe>
    <Groupe>
        <Personne>
            <Nom>Zarki</Nom>
            <Prenom>Emile</Prenom>
        </Personne>
        <Personne>
            <Nom>Houla</Nom>
            <Prenom>Houla</Prenom>
        </Personne>
        <Personne>
            <Nom>Pif</Nom>
            <Prenom>Paf</Prenom>
        </Personne>
    </Groupe>
</TD>

Voici le fichier que l'on souhaite obtenir au final:

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="iso-8859-1"?>
2
    
3
            1.1   Coco Tata
4
            1.2   Coco Toto
5
            
6
7
            2.1   Houla Houla
8
            2.2   Pif Paf
9
            2.3   Zarki Emile
<?xml version="1.0" encoding="iso-8859-1"?>
    
            1.1   Coco Tata
            1.2   Coco Toto
            

            2.1   Houla Houla
            2.2   Pif Paf
            2.3   Zarki Emile

Question

Premièrement, transformez l' XML source en utilisant un fichier XSLT.

Le fichier XML obtenu doit contenir le même contenu que le fichier d'origine sauf que les personnes doivent être triées selon leur nom, puis leur prénom (au sein d'un groupe).

Question

Maintenant, transformez l' XML intermédiaire (que vous venez de produire) en utilisant un deuxième fichier XSLT.

Le fichier en sortie, doit contenir la liste des personnes numérotées avec un format (x.y) où x est le numéro du groupe et y le numéro de la personne.

Pour mieux comprendre, je vous invite à regarder le fichier résultat de l'énoncé.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Benoît Villain, Thibault Brocheton, Lucas Charrier, Félix Motot, 2013-2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)