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] for-each


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut [XSLT] for-each
    Bonjour,

    J'aimerais faire un for-each sur la valeur contenu dans un de mes champs! es-ce possible?

    xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <Root>
    <item>
    <Path>Test/Element</Path>
    </item>
    <Root>
    xslt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <xsl:for-each select="">
    </xsl:for-each>
    que dois-je mettre dans le select pour qu'il aille cherché dans Test/Element (contenu dans l'élément Path de mon XML)?

    Merci

  2. #2
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    Si la question est d aller chercher tous les Path contenant la chaine Test/Element alors c est ceci
    sinon, merci d expliciter un peu mieu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:for-each select="Root/item/Path[.='Test/Element']">
     
    </xsl:for-each>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut
    Salut,

    Merci pour ta réponse mais c'est pas ca que je veux faire !

    Mon item est répétitif et donc j'ai plein d'élément Path différent et moi ce que j'aimerais faire c'est que le for-each se fasse sur le contenu dans ce Path:

    ex:
    <Path>Root/item/Path</Path>
    donc dans le for-each ca sera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:for-each select="Root/item/Path"/>
    si
    <Path>Root/item/Surprise</Path>
    sa donnera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:for-each select="Root/item/Surprise"/>
    Es-ce que c'est possible de faire ca?

    Merci

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    ah d accord...je sais pas

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut
    dommage merci quand même pour l'intérêt!

    Mais ca veut dire que ce n'est pas possible alors?

  6. #6
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    non, ça ne veut pas dire ça...c est juste que moi je ne sais pas

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut
    Ok merci Tiscars!

    Quelqu'un d'autre a une idée?

    Merci d'avance

  8. #8
    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,

    si j'ai bien saisi, tu veux récupérer une chaîne dans ton XML qui représente une expression XPath, et faire évaluer cette expression XPath dans un for-each. Ce n'est malheureusement pas possible, XSLT 1.0 n'autorise pas une évaluation dynamique d'une expression XPath. Certains processeurs XSLT le permettent, par le biais d'extensions.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut
    Dommage je vais devoir faire un XSLT qui me modifie mon xml de base pour ainsi avoir une structure simple(root avec el répétitif) et mettre en attribut son ancien chemin et de cette facon je pourrais faire ce que je veux!

    En faite ca vous parait une bonne idée?

    Merci

  10. #10
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    disons que c est possible en faisant un traitement de chaîne qui supprimerait récursivement les "/" pour lancer un template qui chercherait le node() portant le noeud spécifié ...
    mais c est une solution assez lourde je pense

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut
    D'autre idée si ca te parait lourd comme combine?

    Merci beaucoup!

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

Discussions similaires

  1. [XSLT] for-each imbriqué
    Par mouna201 dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 28/09/2010, 02h00
  2. [XSLT] for-each imbriqués
    Par abdoulax dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/10/2006, 12h08
  3. [XSLT]for-each imbriqués, et autres galères...
    Par Sarrus dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 16/03/2006, 17h57
  4. [xslt] For-each dans template avec format XML (row)
    Par Steff1985 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/11/2005, 11h14
  5. [XSLT]for-each imbiqués
    Par Capt. Flame dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 24/10/2005, 12h57

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