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] probleme position() plus for-each


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
    Mars 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut [XSLT] probleme position() plus for-each
    Bonjour a tous,

    je suis débutant en XML donc dsl pour cette question probablement trop easy mais je n'ai trouvé la réponse nul part.
    J'ai un XML construit comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <FICHE>
    [..]
      <TEST_1 VALEUR="aaa" TITRE="tritre1" /> 
     <TEST_2 VALEUR="bbb" TITRE="tritre2" /> 
     <TEST_3 VALEUR="ccc" TITRE="tritre3" /> 
    [..]
    </FICHE>
    Ce que je n'arrive pas à faire c'est faire afficher, via une page xslt et un code for-each, ces différentes valeur; voici ce que j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:for-each select="FICHE/TEST_[position()][@VALEUR!='']">
    [..]
    </xsl:for-each>
    D'après ce que j'ai compris position() devrait s'incrementer après chaque passsage dans le for-each et dés qu'il sera arrivé à la fin des positions possible il sortiera !
    Mais ca ne fonctionne pas.

    Please help!

    merci d'avance

    d4v1d

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Position() n'a de sens qu'a l'intérieur de la boucle, donc après la sélection des élements du for-each.
    Tu pourrais faire un 2 for-each encapsulés, mais il y a un truc plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:for-each select="FICHE/*[starts-with(name(),'TEST_') and @VALEUR!='']">
    	<t><xsl:value-of select="@TITRE"/></t>
    </xsl:for-each>

  3. #3
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut
    Super,

    merci bcp de ton aide

    d4v1d

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

Discussions similaires

  1. [XSLT 1.0] XSLT: utilisation de la fonction position() dans <for-each> imbriqués
    Par bernidupont dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/05/2011, 21h33
  2. [XSLT] Croiser plusieurs xsl:for-each avec deux documents XML
    Par strat0 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 21/06/2007, 16h10
  3. Réponses: 5
    Dernier message: 27/03/2007, 18h39
  4. [XSLT] Number dans un for-each
    Par stepd dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/08/2006, 13h40
  5. [XML][XSLT] Débutant {Probléme avec For-each-group}
    Par Silvia12 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 29/01/2006, 21h38

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