j'ai XML comme ceci:de comptage des éléments distincts dans XSLT
<assessment>
<variables>
<variable>
<attributes>
<variable_name value="FRED"/>
</attributes>
</variable>
</variables>
<variables>
<variable>
<attributes>
<variable_name value="MORTIMER"/>
</attributes>
</variable>
</variables>
<variables>
<variable>
<attributes>
<variable_name value="FRED"/>
</attributes>
</variable>
</variables>
</assessment>
je sais que ce XSLT:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html"/>
<xsl:template match="assessment">
<xsl:for-each select=".//variables/variable/attributes/variable_name">
<xsl:value-of select="@value"/>
<br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Je génèrerait les éléments suivants:
FRED
MORTIMER
FRED
Mais ce Je veux vraiment sortir est ce:
FRED: 2
MORTIMER: 1
En d'autres termes, je souhaite répertorier les éléments distincts et leur nombre. Notez que je veux que les éléments apparaissent dans l'ordre de leur première apparition (ce qui pourrait exclure certaines solutions qui utilisent le tri).
Comment faire?
Bonne question (1). Voyez ma réponse pour une solution courte et efficace. :) –