Bonjour, je m'excuse mais je débute en xslt. Ma question est sans doute basique et je ne suis même pas sûr de pouvoir la formuler correctement (c'est sans doute pourquoi je ne trouve rien avec google)
Voilà, j'ai une liste xml de musique:
par ex:
et j'aimerais avoir un template capable de produire la liste des genres sans redondance (et par ordre alphabétique)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="transformation.xsl" type="text/xsl"?> <plist> <title>Musique</title> <totaltracks>341</totaltracks> <totaltime>29:30:48</totaltime> <totalsize>1.9 GB</totalsize> <tracks> <track> <trackname>New</trackname> <id>1067</id> <artist>Bruit Des Zig</artist> <album>Maquette Avril 2000</album> <genre>Jazz</genre> <rating>10</rating> <size>6.3 MB</size> <time>6:48</time> <year>2000</year> </track> <track> <trackname>Macchabee</trackname> <id>830</id> <artist>Busy Bees</artist> <album>Demo 4-05-97</album> <genre>Rap Hip Hop</genre> <rating>0</rating> <size>3.9 MB</size> <time>4:20</time> <year>1997</year> </track> <track> <trackname>Samba da minha terra</trackname> <id>798</id> <artist>Caminho</artist> <album>Caminho</album> <genre>Bossa Nova</genre> <rating>0</rating> <size>3.3 MB</size> <time>3:27</time> <year>1998</year> </track> <track> <trackname>Solidao</trackname> <id>806</id> <artist>Caminho</artist> <album>Caminho</album> <genre>Bossa Nova</genre> <rating>40</rating> <size>8.6 MB</size> <time>9:16</time> <year>1998</year> </track> </tracks> </plist>
jusqu'ici je suis juste capable d'avoir la liste des genres pour toutes les entrées par ordre alphabetique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <xsl:template name="genres"> <xsl:for-each select="plist/tracks/track"> <xsl:sort select="genre" order="ascending" /> <xsl:value-of select="genre" /> </xsl:for-each> </xsl:template>(j'ai autant de fois "jazz" qu'il y a de titre jazz, par ex)
Merci beaucoup
![]()
Partager