IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

PB de balises dans un template récursif ?


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club Avatar de Kyti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 182
    Points : 59
    Points
    59
    Par défaut PB de balises dans un template récursif ?
    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>
    Kyti

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    c'est impossible à faire avec un seul template sans bidouiller avec les &lt; et &gt;, il vaut mieux passer par deux templates récursifs, un qui traite les lignes et l'autre les cellules du tableau.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre du Club Avatar de Kyti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    d'accord merci

    j'avais effectivement pensé à cette solution !

    Je te remercie d'avoir pris le temps de me répondre
    Kyti

Discussions similaires

  1. problème de lecture d'occurence de balise dans un template
    Par jesaril dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 25/11/2008, 11h38
  2. [XSL] Traiter des balises dans un mixed
    Par Je@nb dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 10/02/2005, 19h14
  3. cast dans un template
    Par olivic dans le forum Langage
    Réponses: 15
    Dernier message: 20/10/2004, 14h10
  4. Position d'une balise dans un document externe
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 18/07/2003, 02h56
  5. [XSL]faire une balise dans une balise??? (ComboBox)
    Par rastoix dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/05/2003, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo