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

XML/XSL et SOAP Discussion :

xsl:when


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut xsl:when
    Bonjour,

    j'ai encore une question de newbie (desole)...


    Comment cela se fait il que dans le code xsl suivant, il n'interprete que le premier "when" (si on les inverse, c'est toujours le premier when du choose qui sera interprete) ?

    Merci

    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
    16
    17
    18
    19
    20
    21
     
     
    <xsl:for-each select="CDTeque">
      <xsl:for-each select="CD">
        <xsl:choose>
     
          <xsl:when test="artiste">
            <font color="#FF0000"><xsl:value-of select="artiste"/></font>
          </xsl:when>
     
          <xsl:when test="titre">
            <font color="#0000FF"><xsl:value-of select="titre"/></font>
          </xsl:when>
     
          <xsl:otherwise>
            <xsl:value-of select="*"/>
          </xsl:otherwise>
     
        </xsl:choose>
      </xsl:for-each>
    </xsl:for-each>

  2. #2
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    ça c est facile...
    c est parce que ta condition est toujours vraie
    <xsl:when test="artiste">

    signifie simplement "s il y a un artiste alors execute le code suivant"
    le when etant éxécuté il ne passera pas aux suivants.

    il faut ou mettre tout le code correspondant au when test="artiste" dans le meme when
    ou affiner ton when à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsl:when test="artiste[.='SHAKIRA']>
      non merci j ai déja donné
    </xsl:when>
    <xsl:when test="artiste[.='SHREKINTHESWANPKARAOKEDANCEPARTY']>
      Dance to the musiiccccc!!!
    </xsl:when>
    ...heu enfin voila

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    merci pour la reponse rapide!

    ..d'accord mais alors, quelle est l'autre methode?

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    c amrrant on dirait moi au moment ou j ai commencé le xsl...à mettre des for-each partout, et 4 000 questions/jours (GrandFather et Erwy ont été bons à cette époque
    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
    <xsl:for-each select="CDTeque">
        <xsl:apply-templates/>
      </xsl:for-each> 
     <xsl:template match="CD">
         <xsl:apply-templates/>
      </xsl:template>
      <xsl:template match="artiste">
         <font color="#FF0000"><xsl:value-of select="."/></font>
      </xsl:template>
      <xsl:template match="titre">
          <font color="#0000FF"><xsl:value-of select="."/></font>
      </xsl:when>
      <xsl:template match="*">
         <xsl:value-of select="."/>
       </xsl:otherwise>
    un truc dans le genre pour commencer.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par tiscars
    c amrrant on dirait moi au moment ou j ai commencé le xsl...
    à mettre des for-each partout, et 4 000 questions/jours (GrandFather et Erwy ont été bons à cette époque


    en tout cas merci,
    ca marche bien!

Discussions similaires

  1. Débutant [XSL] : When imbriqués ?
    Par NicaeaCivitas dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 14/11/2006, 14h27
  2. Réponses: 10
    Dernier message: 26/10/2006, 12h25
  3. utilisation de xsl:if et xsl:choose xsl: when
    Par moh_yougo dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 30/01/2006, 15h16
  4. [XSL] WHEN
    Par greatdonking dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 19/12/2005, 16h59
  5. [XSL]problème avec <xsl:when>
    Par Devil666 dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 27/05/2005, 16h54

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