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] obtenir la valeur d'un noeud à partir de son nom


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut [XSLT] obtenir la valeur d'un noeud à partir de son nom
    Bonjour,

    dans ma feuille xsl, je récupère le nom d'un noeud xml en concaténant une variable php et des chaines de caractères. Mon problème : je n'arrive pas à afficher la valeur de ce noeud...

    Ci-dessous mon code php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $xslt = new XSLTProcessor();
    $xslt -> importStylesheet(simplexml_load_file('voitures.xsl'));
     
    $xslt -> setParameter(null, 'saison', 'Basse_Saison');
     
    echo  $xslt -> transformToXml(simplexml_load_file('voitures.xml')); 
    ?>

    ci-dessous un exemple de noeud xml à afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Tarif_Basse_Saison_1j>40</Tarif_Basse_Saison_1j>
    et enfin, mon code xsl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div>Tarif: <xsl:value-of select="concat('Tarif_',$saison,'_1j')"/> euros / jour</div>
    au lieu de voir s'afficher "Tarif: 40 euros / jour", je vois "Tarif: Tarif_Basse_Saison_1j euros / jour"...

    Sauriez-vous comment corriger ça ?

    Merci d'avance!

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut réponse
    pour ceux qui auraient le même problème, je viens de trouver la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon">
    ....
    <div>Tarif: <xsl:value-of select="saxon:evaluate(concat('Tarif_',$saison,'_1j'))"/> euros / jour</div>

  3. #3
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    sans utiliser l'extension saxon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="*[name()=concat('Tarif_',$saison,'_1j')]"/> euros / jour</div>

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut ?
    Bonjour,
    ça ne fonctionne pas chez moi...
    Je dois écrire le code tel que tu le donnes ou il faut changer quelque chose ?

  5. #5
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    désolé un " mal placé, code corrigé

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    ça marche, merci!!

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

Discussions similaires

  1. [XSLT] Obtenir la valeur d'un noeud namespacé
    Par Yeb215 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 10/05/2010, 22h24
  2. Réponses: 2
    Dernier message: 26/11/2009, 08h42
  3. [EVAL] utiliser la valeur d'une variable à partir de son nom
    Par Julien Dufour dans le forum VBA Access
    Réponses: 0
    Dernier message: 24/04/2008, 13h15
  4. Récuperer la valeur d'une variable à partir de son nom
    Par Etanne dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/10/2007, 18h04
  5. Valeur d'un champ à partir de son nom
    Par marc_os dans le forum 4D
    Réponses: 5
    Dernier message: 07/09/2007, 15h54

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