J'éprouve quelques difficultés en effet à parcourir mon xml en xsl afin de l'afficher dans un tableau.

Voila le xml :

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>
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.

J'ai donc pensé à utiliser une fonction récursive voici donc le code xsl que 'jai mis en place et qui ne fonctionne pas ...

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>
J'espere avoir été assez clair, je suis un peu bloqué la mon cerveau boucle sans fin

Merci d'avance, Cordialement.

Tristan