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 :

[XSL]Accès totalement dynamique à un fichier


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut [XSL]Accès totalement dynamique à un fichier
    Bonjour à tous, je reviens vers vous car un autre problème ce pose à moi.

    J'aimerais concrètement faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="document($doc)//$noeud" />
    Le problème se situant au niveau du $noeud. La valeur qu'il contient est correcte, mais il ne comprend pas la syntaxe.

    Qu'un aurait il une idée pour accéder de façon dynamique à n'importe quel nœud de mon XML.

    Merci. Wells

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut
    Alors j'avance un peu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="document($doc)//.[name() = $noeud]" />
    Ca marche, le problème c'est qu'il faut accéder à un élément directement sous la racine.

    Si on veux entrer dans un sous nœud cela ne marche plus. Est ce que qq'un voit une autre façon de faire?

  3. #3
    Membre expérimenté
    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
    Points : 1 610
    Points
    1 610
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="document($doc)//*[name() = $noeud]" />

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut
    Malheureusement cette méthode ne marche pas non plus.

    Si je met * et que j'envoie une propriété simple ça va, si j'envoie MenuBas/Gauche/Titre par exemple ça ne marche pas (remarque ça plante pas non plus)

  5. #5
    Membre expérimenté
    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
    Points : 1 610
    Points
    1 610
    Par défaut
    Le chemin xpath ne peut pas être comlement dynamique, ce qu'on a fait test seulement le nom du noeud, 'MenuBas/Gauche/Titre' est un chemin xpath.

    Le seulement moyen de faire du dynamique serait de procéder en 2 passes : la première transformation construisant la seconde feuille de style avec les chemin XPATH correcte.
    Rien d'infaisable, je l'ai fait sur quelques projets, mais ca reste assez imbuvable.

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut
    Oui dans le fond je fait le paresseux en demandant ca en une fonction.
    Mais dans ce que je veux il s'agit ni plus ni moins d'un parcours recursif du xml jusqu'à trouver le nœud que l'on cherche.

    Je m'y suis tâté pour tout dire mais je coince(je débute à peine)

    Déja je ne vois pas comment découper ma chaine MenuBas/Gauche/Titre pour avoir la liste des nœuds.

    Ensuite je ne sais pas comment faire pour sélectionner une partie seulement du xml (un nœud) et relancer le parcours ensuite avec le mot clé suivant (point ci dessus).

    Si tu as deja fait ca peu etre pourras tu me donner des pistes la dessus.

  7. #7
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    oui ca ma l air bien chiant ton affaire ....
    attention ne pas faire concat ( document($doc),$noeud) car a ce moment la document ne serait plus considéré comme une fonction ....
    courage

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut
    Bah si on réussit se sera une méthode magique ^^

    On donne le doc, on donne le nœud et pouf on a la valeur (ce qui est mon but en réalité)

Discussions similaires

  1. Accès dynamique à différent fichier database
    Par antoinelac dans le forum C++Builder
    Réponses: 13
    Dernier message: 22/01/2009, 14h40
  2. [C#] Acces / Permissions sur un fichier ?
    Par pikifou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 11/04/2005, 11h15
  3. acces distant a un fichier
    Par vedder dans le forum Développement
    Réponses: 3
    Dernier message: 07/12/2004, 17h58
  4. [SQL*Plus] génération dynamique du fichier de spool
    Par lalystar dans le forum Oracle
    Réponses: 3
    Dernier message: 06/12/2004, 10h44
  5. Réponses: 9
    Dernier message: 19/08/2004, 11h03

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