Bonjour à tous,
J'ai le document xml suivant:
Je voudrais regrouper les enfants du noeud Eau pour obtenir le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Voici le début de mon fichier de transformation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 100 m : lac, etang 200 m : mer 500 m : riviere, bassin
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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.
Partager