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 :

Petit problème de fonction


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Petit problème de fonction
    Bonjour à tous,

    Je suis débutant en XSLT

    J'ai un fichier XML qui organise une page en 'entete', 'corps' et 'pied'.
    Entete et pied auront la même couleur de fond alors que le corps peut en avoir une différente.
    J'ai donc ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xsl:template name="couleur_bg">
    	<xsl:param name="id" select="corps" />
    	<xsl:if test="$id = corps">
    		#0F0;
    	</xsl:if>
    	<xsl:if test="$id = entete">
    		#F00;
    	</xsl:if>
    </xsl:template>
    Ceci est la fonction qui est censée récuperer l'identifiant de la zone et retourner la couleur de fond.


    Et le code qui va avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:template match="entete|pied">
    	<div>
    		<xsl:attribute name="style">
    			border:solid 1px; width:90%; height:30px; margin:auto; background-color:<xsl:call-template name="couleur_bg"><xsl:with-param name="id">entete</xsl:with-param></xsl:call-template>
    		</xsl:attribute>
    		<xsl:apply-templates select="*" />
    	</div>
    </xsl:template>
    Malheureusement, l'entete ne devient pas rouge quand la page est affichée.
    Pouvez-vous, s'il vous plait, m'aider à résoudre ce probleme ?

    Merci d'avance

  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,

    il faut placer corps et entete entre quotes pour indiquer au processeur XSLT qu'il s'agit de chaînes, sinon il les interprête comme des expressions XPath (noms d'éléments) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xsl:template name="couleur_bg">
      <xsl:param name="id" select="'corps'" />
      <xsl:choose>
        <xsl:when test="$id = 'corps'">#0F0;</xsl:when>
        <xsl:when test="$id = 'entete'">#F00;</xsl:when>
      <xsl:choose>
    </xsl:template>
    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
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    It WorXx ^^

    Merci à toi GrandFather,

    Pour ta rapidité et la pertinence de ta réponse

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

Discussions similaires

  1. Petit problème dans une fonction
    Par Jiyuu dans le forum wxPython
    Réponses: 6
    Dernier message: 08/07/2008, 22h49
  2. Petits problème de fonction et de pointeur
    Par markipoli dans le forum Débuter
    Réponses: 3
    Dernier message: 19/11/2007, 17h42
  3. [Configuration] petit problème avec php.ini pour la fonction mail()
    Par momoh dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 06/04/2007, 01h39
  4. Un petit problème de fonction
    Par philippef dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/09/2006, 15h05
  5. [Mail] Petit problème de fonction
    Par cyrill.gremaud dans le forum Langage
    Réponses: 13
    Dernier message: 25/08/2006, 12h39

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