J'éprouve quelques difficultés en effet à parcourir mon xml en xsl afin de l'afficher dans un tableau.
Voila le xml :
Mon objectif étant de parcourir mon xml en insérant dans la 1iere colonne les menus 2iem colonne sous-menus 3ieme les sous-sous-menus etc .. Sans qu'il y ait de limite.
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 <menus> <xml> <tree> <menu id="1" title="Menu1"> <menu id="2" title="Sous-Menu1" ></menu> <menu id="3" title="Sous-Menu2" > <menu id="4" title="Sous-Sous-Menu1" ></menu> <menu id="5" title="Sous-Sous-Menu2" ></menu> </menu> <menu id="6" title="Sous-Menu3"></menu> </menu> <menu id="7" title="Menu2"> <menu id="8" title="Sous-Menu1" > <menu id="9" title="Sous-Sous-Menu1" ></menu> <menu id="10" title="Sous-Sous-Menu2" ></menu> </menu> </menu> <menu id="11" title="Menu3"> <menu id="12" title="Sous-Menu1" ></menu> <menu id="13" title="Sous-Menu2" ></menu> </menu> </menus> </tree> </xml>
J'ai donc pensé à utiliser une fonction récursive voici donc le code xsl que 'jai mis en place et qui ne fonctionne pas ...
J'espere avoir été assez clair, je suis un peu bloqué la mon cerveau boucle sans fin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <xsl:template match="/xml/tree/menus"> <table> <xsl:apply-templates select="menu" /> </table> <xsl:template match="menu" name="menu"> <tr> <td><xsl:value-of select="title" /></td> </tr> <xsl:for-each select="menu"> <xsl:call-template name="menu" /> </xsl:for-each> </xsl:template> </xsl:template>![]()
Merci d'avance, Cordialement.
Tristan
Partager