Bonjour à tous, je ne parviens pas à effectuer un tri un peu particulier en XSL : trier les element en fonction du nom d'une balise XML.
Prenons par exemple le XML suivant :
Je souhaiterais trier les "element" en ayant d'abord tous ceux contenant un nœud "modification", puis tous ceux ayant un nœud "suppression".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <racine> <elementA> <nom>Nom1</nom> <modification> blablabla </modification> </elementA> <elementA> <nom>Nom2</nom> <suppression> blablabla </suppression> </elementA> <elementA> <nom>Nom3</nom> <modification> blablabla </modification> </elementA> <elementB> <nom>Nom4</nom> <suppression> blablabla </suppression> </elementB> <elementB> <nom>Nom5</nom> <modification> blablabla </modification> </elementB> </racine>
Le tout fait partie d'un tri multiple au sein d'un for-each :
Je tâtonne un peu mais rien de probant n'en sort, des idées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <xsl:for-each select="//elementA | //elementB"> <xsl:sort select="?"/> <!-- ici trier par modification/suppression --> <xsl:sort select="?"/> <!-- ici trier par type d'element (A ou B) --> <!-- autres tris ensuite --> </xsl:for-each>
Partager