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 passer une variable au HTML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 13
    Points : 14
    Points
    14
    Par défaut XSL passer une variable au HTML
    Bonjour, j'ai actuellement un fichier XML dans lequel j'ai des couleur stockées sous forme décimal ( ex : 16711935 )
    A l'aide de xsl je recupere cette valeur , afin d'afficher du text de cette couleur.
    Pour cela je traduit tout d'abord la couleur en RGB puis je la passe au HTML de cette manière:

    <xsl:variable name="rouge" select="(floor((@COULEUR) div 65536))" />
    <xsl:variable name="vert" select="(floor((@COULEUR - ($rouge * 65536)) div 256))"/>
    <xsl:variable name="bleu" select="(floor((@COULEUR - ($rouge * 65536)- ($vert * 256))))"/>

    <td><xsl:value-of select="$rouge"/></td>
    <td><xsl:value-of select="$vert"/></td>
    <td><xsl:value-of select="$bleu"/></td>
    <td bgcolor="rgb($rouge,$vert,$bleu)"></td>

    mon soucis étant que le bgcolor ne fonctionne pas,dans le sens ou peut import les valeurs de $rouge,$vert et $bleu sa ne change rien. Avez vous des suggestions ?

  2. #2
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 843
    Points
    4 843
    Par défaut
    Pour appeller une variable dans un attribut il faut ajouter des accolades :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td bgcolor="rgb({$rouge},{$vert},{$bleu})"></td>

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 563
    Points : 21 627
    Points
    21 627
    Par défaut
    Déjà...

    Sauf qu'en HTML, bgcolor n'accepte pas le format rgb(). Soit on donne un nom de couleur ( bgcolor="red" ), soit on met un code couleur HTML ( bgcolor="#FF0000" ).

    Ce qu'il faut, c'est style="background-color: rgb()"

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Pour appeller une variable dans un attribut il faut ajouter des accolades :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td bgcolor="rgb({$rouge},{$vert},{$bleu})"></td>
    Merci ça fonctionne parfaitement

    PS: Thelvin le rgb() fonctionne très bien avec Bgcolor......

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 563
    Points : 21 627
    Points
    21 627
    Par défaut
    Citation Envoyé par uNreal Voir le message
    PS: Thelvin le rgb() fonctionne très bien avec Bgcolor......
    Eh bien aucune spec au monde ne dit que ça devrait marcher, et ça ne marche pas sur Firefox au moins.
    La méthode en style="" découle directement des specs HTML et CSS, et marche sur tout ce que j'ai pu trouver.

    Mais bon, tout ça c'est des questions HTML, pas XSLT, alors au bout d'un moment tu fais ce que tu veux. Maintenant tu sais insérer des variables dans tes attributs littéraux.

Discussions similaires

  1. [XSL] Passer une variable en paramètre d'une balise
    Par verbose dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/04/2010, 18h30
  2. [XSLT]passer une variable js dans une instruction xsl
    Par ounours dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 12/04/2007, 18h39
  3. [xsl / Php] faire passer une variable XSL en PHP
    Par klowlead dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/05/2006, 12h59
  4. [XSL] Passer une variable a une balise HTML dans un fichier
    Par poseidon2 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 09/03/2006, 16h39

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