Bonjour,
Avec un fichier XML du style:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="metrics_MLOC3.xsl" type="text/xsl"?>
<Metric id = "NSM" description ="Number of Static Methods">
<Value name="methode1" source ="source1.java" value ="13"/>
<Value name="methode2" source ="source1.java" value ="10"/>
<Value name="methode3" source ="source2.java" value ="10"/>
<Value name="methode4" source ="source3.java" value ="8"/>
<Value name="methode5" source ="source3.java" value ="6"/>
<Value name="methode6" source ="source3.java" value ="4"/>
A l'aide d'un fichier XSLT, est-ce qu'il est possible d'obtenir un tableau qui dénombre le nombre de fois que l'on a vu apparaitre un fichier source spécifique.
Avec l'exemple ci-dessus j'aimerais obtenir:
source1.java = 2
source2.java = 1
source3.java = 3
Merci
# Group by
Posté par Hardy Damien . Évalué à 3.
Oui c'est pas simple, la version 2.0 de xslt intégrera un <xsl:for-each-group /> qui facilitera grandement la chose ...
Dam
[^] # Re: Group by
Posté par Hardy Damien . Évalué à 4.
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method = "text" />
<xsl:template match="/">
<xsl:for-each select=" //Value[ not (@source=preceding-sibling::Value/@source) ]/@source">
<xsl:value-of select="." /> : <xsl:value-of select="count(//Value[@source=current()])" /><xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Dam
[^] # Re: Group by
Posté par Rork . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.