Bonjour,
je voudrais réaliser un template récursif afin de construire un tableau HTML.
Lors de l'appel du template, je passe le nombre de lignes et de colonnes.

Mon problème est que les <tr> et </tr> se trouvent dans 2 xsl:when différents et ça me donne une erreur comme quoi la balise de fermeture ne correspond pas à la balise d'ouverture.

j'ai essayé avec &lt;tr&gt; mais là ça m'affiche carrément le <tr> dans ma page html.

y a t-il un moyen pour résoudre mon problème ?

MERCI D'AVANCE !

Dans mon fichier de templates :
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
33
 
<xsl:template name="tabloCorps">
 <xsl:param name="nbLignes" >5</xsl:param>
 <xsl:param name="nbColonnes" >4</xsl:param>
 <xsl:param name="ligne" >1</xsl:param>
 <xsl:param name="colonne" >1</xsl:param>
 <!-- récursivité -->
  <xsl:choose>
   <xsl:when test="number($colonne)=1">
    <tr>      <!-- PB -->
   </xsl:when>
   <xsl:when test="number($colonne) &lt; number($nbColonnes)">
    </tr>     <!-- PB -->
    <xsl:call-template name="tabloCorps">
    <xsl:with-param name="nbLignes" select="10" />
    <xsl:with-param name="nbColonnes" select="4" />
    <xsl:with-param name="ligne" select="number($ligne +1)" />
    <xsl:with-param name="colonne" select="1" />
   </xsl:call-template>
   </xsl:when>
   <xsl:otherwise>
    <td>
     <xsl:value-of select="$nbLignes"/> - <xsl:value-of select="$nbColonnes"/>
    </td>
    <xsl:call-template name="tabloCorps">
    <xsl:with-param name="nbLignes" select="10" />
    <xsl:with-param name="nbColonnes" select="4" />
    <xsl:with-param name="ligne" select="$ligne" />
    <xsl:with-param name="colonne" select="number($colonne+1)" />
   </xsl:call-template>
   </xsl:otherwise>
  </xsl:choose>
</xsl:template>
Mon fichier de tests
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<body>
 <div class="libStatic">
  <table border="1">
   <xsl:call-template name="tabloCorps">
    <xsl:with-param name="nbLignes" select="10" />
    <xsl:with-param name="nbColonnes" select="4" />
   </xsl:call-template>
  </table>
 </div>
</body>