[XSLT]Regroupement par attribut.
Bonjour à tous,
J'ai le document xml suivant:
Code:
1 2 3 4 5 6 7
| <Eau>
<riviere distance="500 m"/>
<lac distance="100 m"/>
<mer distance="200 m"/>
<etang distance="100 m"/>
<bassin distance="500 m"/>
</Eau> |
Je voudrais regrouper les enfants du noeud Eau pour obtenir le résultat suivant:
Code:
1 2 3 4
|
100 m : lac, etang
200 m : mer
500 m : riviere, bassin |
Voici le début de mon fichier de transformation :
Code:
1 2 3 4 5 6 7 8
|
<xsl:template match="/Eau">
<xsl:apply-templates select="riviere|lac|mer|etang|bassin"><xsl:sort select="@distance" /></xsl:apply-templates>
</xsl:template>
<xsl:template match="riviere|lac|mer|etang|bassin">
...
</xsl:template> |
Mon idée était de trier les éléments par l'attribut distance et de regarder à la position -1 pour voir si la distance change ou pas.
Le problème est que quand je suis dans mon deuxième template je ne sais pas comment obtenir le noeud précédent.
Quelqu'un sert-il m'aider sur ce problème, ou existe-t-il une autre méthode pour arriver à mon fichier de sortie.
Merci.