Tri de CDs avec xsl:sort et xsl:perform-sort
Tri de CDs
L'objectif de l'exercice est de se familiariser avec xsl:sort et xsl:perform-sort.
A partir d'un fichier XML qui dresse une liste d'albums et de leurs prix respectifs, on souhaite construire un second fichier XML n'ayant retenu que les 5 CDs les moins chers.
Remarque : si 2 CDs ont le même prix, alors les cds sont triés par nom (ordre alphabétique).
Fichier XML source :
CTRL+C pour copier, CTRL+V pour coller
1
2
<cds>
3
<cd name="MagicCD">
4
<price>7.00</price>
5
</cd>
6
<cd name="Electric Ladyland">
7
<price>5.99</price>
8
</cd>
9
<cd name="Camembert Electrique">
10
<price>4.50</price>
11
</cd>
12
<cd name="C'est du lourd">
13
<price>6.00</price>
14
</cd>
15
<cd name="Couldn't Stand The Weather">
16
<price>7.00</price>
17
</cd>
18
<cd name="SuperCD">
19
<price>9.50</price>
20
</cd>
21
</cds>
<?xml version="1.0" encoding="UTF-8"?> <cds> <cd name="MagicCD"> <price>7.00</price> </cd> <cd name="Electric Ladyland"> <price>5.99</price> </cd> <cd name="Camembert Electrique"> <price>4.50</price> </cd> <cd name="C'est du lourd"> <price>6.00</price> </cd> <cd name="Couldn't Stand The Weather"> <price>7.00</price> </cd> <cd name="SuperCD"> <price>9.50</price> </cd> </cds>
Fichier XML résultat (final) :
CTRL+C pour copier, CTRL+V pour coller
1
2
<cds>
3
<cd name="Camembert Electrique">
4
<price>4.50</price>
5
</cd>
6
<cd name="Electric Ladyland">
7
<price>5.99</price>
8
</cd>
9
<cd name="C'est du lourd">
10
<price>6.00</price>
11
</cd>
12
<cd name="Couldn't Stand The Weather">
13
<price>7.00</price>
14
</cd>
15
<cd name="MagicCD">
16
<price>7.00</price>
17
</cd>
18
</cds>
<?xml version="1.0" encoding="UTF-8"?> <cds> <cd name="Camembert Electrique"> <price>4.50</price> </cd> <cd name="Electric Ladyland"> <price>5.99</price> </cd> <cd name="C'est du lourd"> <price>6.00</price> </cd> <cd name="Couldn't Stand The Weather"> <price>7.00</price> </cd> <cd name="MagicCD"> <price>7.00</price> </cd> </cds>