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

XSL/XSLT/XPATH XML Discussion :

principe de base récursif


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 32
    Par défaut principe de base récursif
    bonjour, je voudrai être sur de bien comprendre le principe d'une boucle, ou d'un xslt recursif.
    Voici mon template:
    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
    <xsl:template name="affiche_val">
    <xsl:param name="compteur" select="0"/>
    <xsl:param name="valeur" select="0"/>
     
    <xsl:text>$valeur</xsl:text>
     
    <xsl:if test="$compteur &lt;= 10">
    <xsl:call-template name="affiche_val">
    <xsl:with-param name="compteur" select="$compteur=$compteur+1"/>
    <xsl:with-param name="valeur" select="$valeur=$valeur+1"/>
     
     
    </xsl:call-template>
    </xsl:if>
    </xsl:template>
    le résultat de ce template devrait être 10 fois la valeur "$valeur"?
    mais le pb ce n'est pas cela, pourquoi?

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Syntactiquement parlant.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <!--
    <xsl:with-param name="compteur" select="$compteur=$compteur+1"/>
    <xsl:with-param name="valeur" select="$valeur=$valeur+1"/>
    -->
    <xsl:with-param name="compteur" select="$compteur+1"/>
    <xsl:with-param name="valeur" select="$valeur+1"/>
    et puis...
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!-- <xsl:text>$valeur</xsl:text>  -->
    <xsl:value-of select="$valeur" />

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Et puis c'est pas "dix fois la valeur" c'est "les nombres de 0 à 11"
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 32
    Par défaut
    Mon pb est que ce template m'affiche comme résultat le xml associé et c'est tout, sans les chiffres 0 à 11.
    voci le code complet:
    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
    <?xml version="1.0" encoding="utf-8"?><!-- DWXMLSource="mA.ldts" -->
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:output method="text" indent="yes"/>
     
     
    <xsl:template name="affiche_val">
    <xsl:param name="compteur" select="0"/>
    <xsl:param name="valeur" select="0"/>
     
    <xsl:value-of select="$valeur" />
     
    <xsl:if test="$compteur &lt;= 10">
    <xsl:call-template name="affiche_val">
    <xsl:with-param name="compteur" select="$compteur+1"/>
    <xsl:with-param name="valeur" select="$valeur+1"/>
     
     
    </xsl:call-template>
    </xsl:if>
    </xsl:template>
     
    </xsl:stylesheet>

  5. #5
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Mon pb est que ce template m'affiche comme résultat le xml associé et c'est tout, sans les chiffres 0 à 11.
    Voyons, un template nommé ne peut commencer à travailler à lui tout seul soudanement. Il faut être appellé.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsl:template match="/"
        <xsl:call-template name="affiche_val">
            <xsl:with-param name="compteur" select="0"/>
            <xsl:with-param name="valeur" select="0"/>
        </xsl:call-template>
    </xsl:template>

  6. #6
    Membre averti
    Inscrit en
    Février 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 32
    Par défaut RESOLU
    ok merci, donc voici la solution complète:
    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
    <xsl:template match="/">
        <xsl:call-template name="affiche_val">
            <xsl:with-param name="compteur" select="0"/>
            <xsl:with-param name="valeur" select="0"/>
        </xsl:call-template>
    </xsl:template>
     
    <xsl:template name="affiche_val">
    <xsl:param name="compteur" select="0"/>
    <xsl:param name="valeur" select="0"/>
     
    <xsl:value-of select="$valeur" />
     
     
    <xsl:if test="$compteur &lt;= 10">
     
     
    <xsl:call-template name="affiche_val">
    <xsl:with-param name="compteur" select="$compteur+1"/>
    <xsl:with-param name="valeur" select="$valeur+1"/>
     
     
    </xsl:call-template>
     
    </xsl:if>
     
    </xsl:template>
     
    </xsl:stylesheet>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [jquery]principe de base du drag&drop
    Par gtraxx dans le forum jQuery
    Réponses: 7
    Dernier message: 28/09/2008, 14h20
  2. [AJAX] [Xajax] xajax principe de base
    Par Didibzh dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 18/06/2007, 12h00
  3. Principes de base GUI
    Par sone47 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 14/02/2007, 16h46
  4. Réponses: 12
    Dernier message: 06/10/2006, 13h35
  5. [principe de base] Objets composés d'objets
    Par brousaille dans le forum JDBC
    Réponses: 11
    Dernier message: 09/02/2005, 19h13

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