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 :

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>
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
 
 
<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]) &gt; $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>
Est-il possible de mettre à jour la valeur d'une variable ?
Merci !