1. #1
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 76
    Points : 127
    Points
    127

    Par défaut [XSLT] compteur global

    Bonjour,

    J'ai besoin de faire un compteur global dans un fichier XSLT
    je sais comment déclarer une variable globale mais j'ai lu qu'une fois déclarée celle-ci n'est plus modifiable.
    Je voulais savoir si c'est effectivement le cas et s'il n'existe vraiment pas un moyen de modifier la valeur d'une variable.

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 443
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 443
    Points : 2 423
    Points
    2 423

    Par défaut

    Bonjour,

    je sais comment déclarer une variable globale mais j'ai lu qu'une fois déclarée celle-ci n'est plus modifiable.
    Sachant faire ta déclaration, il te suffit de faire un petit test

    il n'existe vraiment pas un moyen de modifier la valeur d'une variable
    Cette question a été demandée plusieurs fois dans ce forum il y a peu de temps.
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : octobre 2008
    Messages : 75
    Points : 61
    Points
    61

    Par défaut

    [xslt]pour changer une variable :
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <xsl:variable name="solde">
    		<xsl:value-of select="0"/>
    	</xsl:variable>
    	 <xsl:template match="*">
    	 <xsl:variable name="solde" select="$solde + 1" />
    	 <html>
    	 <h1>
    		<xsl:text>Solde:</xsl:text>
    		<xsl:value-of select="$solde" />
    	</h1>
    	</html>
    	 </xsl:template>
    ici j'incrémente la variable solde et je l'affiche après ...

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    septembre 2004
    Messages
    10 836
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 10 836
    Points : 18 276
    Points
    18 276

    Par défaut

    Ça ne marche pas pour faire un compteur. Essaie.

    (Fondamentalement, ta syntaxe définit une nouvelle variable solde, avec son propre contenu invariable. Cette nouvelle variable portant le même nom que l'ancienne, elle masque l'ancienne, oui... Mais ne change pas la valeur de l'ancienne. En pratique, ça n'est pas "changer la valeur d'une variable" comme ça le serait au sens où on l'entend habituellement, ni au sens où ça serait utile.)
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
    Partagez vos connaissances, mais aussi comment s'en servir.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 8
    Points : 10
    Points
    10

    Par défaut

    Pour les compteurs, on peut utiliser <xsl:number>
    C'est comme cela que je numérote mes paragraphes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:number level="multiple" count="p" format="1.1 " from="/"/>

  6. #6
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 443
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 443
    Points : 2 423
    Points
    2 423

    Par défaut

    Bonjour,

    tu peux utiliser un code de la forme suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xsl:variable name="solde">
    		<xsl:value-of select="0"/>
    	</xsl:variable>
     
    	DebutBoucle
    	 <xsl:variable name="solde" select="$solde + 1" />
            FinBoucle
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

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

Discussions similaires

  1. [XSLT] Compteur noeuds en sortie
    Par brunk dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 29/03/2007, 17h28
  2. [XSLT] Compteur dans un "preceding-sibling::"
    Par loloajax dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 20/11/2006, 14h12
  3. [XSLT] compteur sans doublon
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/08/2006, 12h37
  4. [xslt] compteur
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 15/12/2005, 08h29
  5. [XSLT][Compteur]qui ne s'incremente pas
    Par fraoustin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/01/2005, 18h11

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