Bonjour,
J'ai vraiment beaucoup cherché avant d'en venir à poser la question suivante :
J'ai un xml qui a cette forme :
En gros, certains noeuds de certaines catégories doivent être regroupé en options afin qu'en sorti on obtienne :
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 <bien> <categorie_a> <noeud_a>valeur_a</noeud_a> </categorie_a> <categorie_b> <noeud_b>valeur_b</noeud_b> </categorie_b> <categorie_c> <noeud_c>valeur_c</noeud_c> </categorie_c> </bien> <bien> <categorie_a> <noeud_a>valeur_a</noeud_a> </categorie_a> <categorie_d> <noeud_d>valeur_d</noeud_d> </categorie_d> <categorie_e> <noeud_e>valeur_e</noeud_e> </categorie_e> </bien>
J'ai essayé avec des variables mais vu qu'on peut pas les re-modifier cela ne fonctionne pas du tout... Mon xsl ressemble à ca :
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 <bien> <categorie_a> <noeud_a>valeur_a</noeud_a> </categorie_a> <options> <noeud_b>valeur_b</noeud_b> <noeud_c>valeur_c</noeud_c> <options> </bien> <bien> <categorie_a> <noeud_a>valeur_a</noeud_a> </categorie_a> <options> <noeud_d>valeur_d</noeud_d> <noeud_e>valeur_e</noeud_e> <options> </bien>
Ensuite j'ai essayé pas mal de chose avec xpath mais rien ne fonctionne
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 <xsl:template match="*"> <xsl:for-each select="bien"> <xsl:element name="bien"> <xsl:apply-templates select="categorie_a" /> <xsl:apply-templates select="categorie_a" /> </xsl:element> </xsl:for-each> </xsl:template> <xsl:template match="categorie_a"> <categorie_a> <noeud_a><xsl:value-of select="noeud_a"/></noeud_a> </categorie_a> </xsl:template>
J'espère que j'ai été clair :-) Merci !
Partager