[XSL]compter combien de fois la valeur d'1 attribut est prés
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:
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:
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> |
Est-il possible de mettre à jour la valeur d'une variable ?
Merci !