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 :

Couleur de cellule XSL dynamique avec une variable


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Couleur de cellule XSL dynamique avec une variable
    Bonjour a tous !
    J'ai parcouru le forum mais je n'ai pas trouvé la reponse que je cherchais.

    Je souhaiterais modifier en fonction d'une valeur la couleur d'une cellule d'un tableau. Cette valeur correspond a une variable XSL dont la valeur est modifiée a chaque "tour de boucle" du parsing de mon fichier XML

    Ce code marche presque : c'est a dire que la condition est respectée et 2 couleur apparaîssent ( mais pas les bonnes couleurs !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <!-- Ligne -->
    <tr align="center">
        <xsl:variable name="coul">
            <xsl:choose>
                <xsl:when test="etendue|@etendue=1">
                    green <!-- ou couleur de la forme "#009933" -->
                </xsl:when>
                <xsl:otherwise>
                    blue <!-- ou couleur de la forme "#009933" -->
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>
    <!-- Colonne : 1ere Cellule -->
    <td bgcolor="{$coul}">
    Ce code ne marche pas et m'applique une seule couleur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <!-- Ligne -->
    <tr align="center">
        <xsl:variable name="coul">
            <xsl:choose>
                <xsl:when test="etendue|@etendue=1">
                    "#009933"
                </xsl:when>
                <xsl:otherwise>
                    "#0066FF"
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>
    <!-- Colonne cellule -->
    <td bgcolor="$coul">
    Je pense que l'erreur se rapporte a celle balise <td bgcolor="$coul"> mais je n'arrive pas a cerner l'erreur. pouvez vous m'aidez svp.

    Merci bcp.
    Steff

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


    Les expressions XPath intégrées dans des attributs de balises non XSL doivent être entre accolades :

    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Merci pour cette précision ! (très rapide en + !!)

    Par contre comme je l'ai fais dans mon 1er exemple : j'utilise des accolades pourtant les couleurs ne sont pas les bonnes.
    L'erreur n'est peut-etre plus due au langage XSL ? mais plutôt au HTML !?

    Comment pourrais-je avoir les "bonnes couleurs" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <!-- Ligne --> 
    <tr align="center"> 
        <xsl:variable name="coul"> 
            <xsl:choose> 
                <xsl:when test="etendue|@etendue=1"> 
                    green <!-- ou couleur de la forme "#009933" --> 
                </xsl:when> 
                <xsl:otherwise> 
                    blue <!-- ou couleur de la forme "#009933" --> 
                </xsl:otherwise> 
            </xsl:choose> 
        </xsl:variable> 
    <!-- Colonne : 1ere Cellule --> 
    <td bgcolor="{$coul}">
    merci

  4. #4
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Allez savoir pourquoi je n'arrive toujours pas a mettre un couleur de fond a la cellule grace a une variable !

    Qu'a cela ne tienne...
    Voila comment contourner le probleme : utiliser une image de fond avec la bonne couleur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    		<xsl:variable name="img">
    				<xsl:choose>
    					<xsl:when test="etendue|@etendue=1">
    						pixvert.JPG <!-- vert sur 1 pixel 650 octect environ!-->
    					</xsl:when>
    					<xsl:otherwise>
    						pixorange.JPG <!-- orange sur 1 pixel : 650 octet environ-->
    					</xsl:otherwise>
    				</xsl:choose>
    			</xsl:variable>
     
    <!-- Les variables xsl utilisées dans des balises doivent être mises entre accolades -->
    <td background="{$img}">

Discussions similaires

  1. Comment coder une requete dynamique avec une Variable binaire.
    Par BoromSikim dans le forum Développement
    Réponses: 11
    Dernier message: 03/03/2009, 17h17
  2. [XSLT]comment utiliser xsl:if avec une variable
    Par dbill dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/08/2007, 13h23
  3. Réponses: 2
    Dernier message: 13/02/2007, 17h40
  4. [XSL] utilisation du mode avec une variable
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 20/04/2006, 10h12
  5. [xsl] Test avec une variable ?
    Par maxonman dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 24/01/2006, 10h47

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