Bonjour,
J'ai un arbre XML représentant des archives d'articles, chaque article possède un id_artiste en attribut (artiste principal de l'article).
Je souhaiterais obtenir l'id_artiste qui a le plus grand nombre d'apparitions.
Voici l'arbre :
Et voici le XSL qui a déjà été fait :
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 <page> <archives> <jour ordre="1"> <articles> <article id="1" id_artiste="1"> <url>lien</url> </article> <article id="2" id_artiste="18"> <url>lien</url> </article> <article id="3" id_artiste="3"> <url>lien</url> </article> <article id="4" id_artiste="4"> <url>lien</url> </article> <article id="5" id_artiste="5"> <url>lien</url> </article> </articles> </jour> <jour ordre="2"> <articles> <article id="6" id_artiste="6"> <url>lien</url> </article> <article id="7" id_artiste="18"> <url>lien</url> </article> <article id="8" id_artiste="8"> <url>lien</url> </article> <article id="9" id_artiste="18"> <url>lien</url> </article> <article id="10" id_artiste="10"> <url>lien</url> </article> </articles> </jour> </archives> </page>
Est-il possible de mettre à jour la valeur d'une variable ?
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 <xsl:template name="trouve_id"> <xsl:variable name="resultIDartiste"></xsl:variable> <xsl:variable name="resultCount">0</xsl:variable> <xsl:for-each select="/page/archives/jour/articles/article[@id_artiste]"> <xsl:variable name="IDartiste" select="./@id_artiste"/> <p> <xsl:value-of select="./@id_artiste"/> <xsl:text> : </xsl:text> <xsl:value-of select="count(/page/archives/jour/articles/article[@id_artiste=$IDartiste])"/> </p> <xsl:if test="count(/page/archives/jour/articles/article[@id_artiste=$IDartiste]) > $resultCount"> ici mise à jour des variables $resultIDartiste et $resultCount </xsl:if> </xsl:for-each> </xsl:template > <xsl:template match="/"> <xsl:call-template name="trouve_id"> </xsl:call-template> </xsl:template> </xsl:stylesheet>
Merci !
Partager