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 :

Stocker du html dans une variable.


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut Stocker du html dans une variable.
    Bonsoir à tous,

    J'ai de nouveau un petit soucis avec xsl.

    J'aurais besoins de stocker dans une variable xslt un série d'options pour utilisation dans des select html.
    Code xsl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:variable name="optionsCouleurs">
       <xsl:for-each select="couleurs/couleur">
          <option value="{.}" style="width: 80px; background: #{.}"></option> 
       </xsl:for-each>
    </xsl:variable>

    Mais bien entendu, les tags options sont ignorés, seuls leurs contenus si j'en met un, est ajouté à la valeur de la variable.
    J'ai bien tenté un
    Code xsl : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="$optionsCouleurs/node() | *" />
    Mais je me prends une erreur.

    Le but de faire ceci est que j'ai une série de champs dans un formulaire qui ont besoin de sélectionner une couleur.
    Et je voudrais éviter de faire à chaque fois la même boucle, je pourrais passer par un template, mais pareil il sera appelé à chaque fois..

    Auriez-vous une solution pour n'exécuter qu'une fois cette boucle ?

    Tiens au passage, j'aurais une autre petite question.
    Que vaut en consommation de mémoire le fait de faire un copy de node() | * sur un document xml ?

    Merci.

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Bonsoir,

    Je relance ma question

    J'ai vraiment des problèmes avec les variables et les nodeset, notamment avec les passages de paramètres dans mes templates.

    Je voudrais pouvoir appeler dynamiquement les nœuds de mon xml, à la manière de variables dynamiques.

    Par exemple, avec un xml du genre :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <valeurs>
       <valeur-1>10</valeur-1>
       <valeur-2>20</valeur-2>
       <valeur-3>30</valeur-3>
       <valeur-4>40</valeur-4>
    </valeurs>

    J'aimerais pouvoir faire un
    Code xsl : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="valeur-$i" />

    C'est certain que c'est pas très « xml », mais cela me faciliterait énormément la tâche, car j'ai plusieurs nœuds de ce type, que je voudrais passer en profondeur dans mes divers templates (en paramètre), dont certains s'auto-appellent récursivement, d'où le besoin de la variable.

    J'ai un peu tout tenté, mais sans succès, c'est quand même étrange que l'on puisse passer dans une variable un ensemble de nœuds en paramètre d'un template, sans pouvoir y accéder.

    N'y a vraiment-il aucune solution ?

Discussions similaires

  1. Balise html dans une variable
    Par saraza dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2008, 13h12
  2. HTML dans une variable PHP
    Par tynmar dans le forum Langage
    Réponses: 4
    Dernier message: 19/03/2007, 15h32
  3. [XLST] Du Html dans une variable
    Par Oberown dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 02/10/2006, 12h09
  4. Écrire du HTML dans une variable
    Par chienlou dans le forum Langage
    Réponses: 13
    Dernier message: 15/05/2006, 17h54
  5. Stocker un noeud dans une variable
    Par Devotion dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 23/09/2004, 17h02

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