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 :

[XSLT][Compteur]qui ne s'incremente pas


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut [XSLT][Compteur]qui ne s'incremente pas
    Bonjour à tous,
    voila l'utilise depuis peu l'xslt pour faire des échanges entre deux système et j'ai un petit problème
    voici un bout de xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <section name="text">
        <a>coucou</a>
        <a>toto</a>
        <a>titi</a>
    </section>
    <section name="text">
        <a>coucou2</a>
        <a>toto2</a>
        <a>titi2</a>
    </section>
    ce bout de code provient d'un application A. Dans une balise <section> j'aurais toujours trois balises <a>
    je dois fournir a une application B le xml suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <chapitre>
        <a1>coucou</a1>
        <a2>toto</a2>
        <a3>titi</a3>
    </chapitre>
    <chapitre>
        <a1>coucou2</a1>
        <a2>toto2</a2>
        <a3>titi2</a3>
    </chapitre>
    pour cela ma feuille de style est du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xsl:for-each select="./section">
        <xsl:variable name="compteur">0</xsl:variable>
        <xsl:for-each select="./a">
            <xsl:variable name="compteur"><xsl:value-of select="$compteur+1"/></xsl:variable>
            <xsl:element name="{concat('a',$compteur)}"> <xsl:value-of select="./"/></xsl:element>
        </xsl:for-each>
    </xsl:for-each>
    mais voila mon compteur prend la valeur1 lors du premier passage et reste a 1 au lieu de s'incrementer quelqu'un sait-il pourquoi?
    merci

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    bonjour,

    je te conseillerais d'utiliser le xpath position() qui permet de récupérer la position du noeud sur lequel tu boucles

    position() va de 1 à n. et il sera plus profitable pour ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xsl:for-each select="section">
    			<xsl:element name="chapitre">
    				<xsl:for-each select="a">
    					<xsl:element name="{concat('a',position())}">
    						<xsl:value-of select="text()"/>
    					</xsl:element>
    				</xsl:for-each>
    			</xsl:element>
    		</xsl:for-each>
    bonne continuation

  3. #3
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    merci beaucoup cela me va parfaitement
    encore une fois merci

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

Discussions similaires

  1. Compteur qu ne s'incremente pas
    Par olivbarb dans le forum Langage
    Réponses: 5
    Dernier message: 20/11/2011, 15h57
  2. [AJAX] Compteur qui ne compte pas.
    Par ots2 dans le forum AJAX
    Réponses: 2
    Dernier message: 21/11/2010, 11h53
  3. Compteur qui fonctionne avec FF mais pas avec IE
    Par beegees dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/05/2009, 20h04
  4. compteur qui ne marche pas
    Par moimemessssssssss dans le forum VBA Access
    Réponses: 5
    Dernier message: 06/04/2008, 12h22
  5. [XSLT] Trie mettre ceux qui n'en contienne pas à la fin
    Par totoen dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/09/2006, 14h31

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