[XSLT] fonction récursive à N niveaux
Bonjour à vous,
disons que j'ai actuellment quelque chose qui fonctionne mais qui n'est pas propre du tout et surtout pas vraimentuniversel, je m'explique :
Je contruit un menu à trois niveaux, cependant, comme vous pouvez le constater, mon code est toujours le même, j'aurai aimé savoir s'il était possible de créer une fonction récursive en lui passant des paramètres.
Je pense que c'est possible. Surtout que l'intérêt finale est de pouvoir avoir N niveaux (N1, N2, N3, N4, N5, N6 ....) pour le menu (tant qu'il y a des enfants, je rappelle cette fonction récursive).
Est ce que quelqu'un pourrait m'aider ...?
Voici mon code XSL :
Code:
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 33 34 35 36 37 38 39 40 41
| <xsl:for-each select="/ROOT/LISTE/N1">
<img src="Nv1.jpg" />
<xsl:element name="a">
<xsl:attribute name="HREF">#</xsl:attribute>
<xsl:attribute name="nom">
<xsl:value-of select="@L" />
</xsl:attribute>
<xsl:attribute name="onClick">
affichageEnCours(<xsl:value-of select="@ID" />,this.nom);
</xsl:attribute>
<xsl:value-of select="@L"/>
</xsl:element>
<xsl:for-each select="./N2">
<img src="Nv2.jpg" />
<xsl:element name="a">
<xsl:attribute name="HREF">#</xsl:attribute>
<xsl:attribute name="nom">
<xsl:value-of select="@L" />
</xsl:attribute>
<xsl:attribute name="onClick">
affichageEnCours(<xsl:value-of select="@ID" />,this.nom);
</xsl:attribute>
<xsl:value-of select="@L"/>
</xsl:element>
<xsl:for-each select="./N3">
<img src="Nv3.jpg" />
<xsl:element name="a">
<xsl:attribute name="HREF">#</xsl:attribute>
<xsl:attribute name="nom">
<xsl:value-of select="@L" />
</xsl:attribute>
<xsl:attribute name="onClick">
affichageEnCours(<xsl:value-of select="@ID" />,this.nom);
</xsl:attribute>
<xsl:value-of select="@L"/>
</xsl:element>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each> |