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] Traiter des balises dans un mixed


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 13
    Points
    13
    Par défaut [XSL] Traiter des balises dans un mixed
    Maintenant par contre, j'ai fait un xsl mais il me vire mes balises <b> <u> etc et enfin toutes les balises que je lui est mis à l'intérieur mixé avec mon texte, comment faire pour pas qu'il les vire pour certaines et qu'il fasse ma transformation pour d'autres ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:template match="/">
    <qt>
    <xsl:for-each select="message">
    <div bgcolor='#FF0000'>Message de <xsl:value-of select="de"/> à <xsl:value-of select="a"/></div>
    <div bgcolor='#FFFFFF'><xsl:for-each select="b"><b><xsl:value-of select="b"/></b></xsl:for-each><xsl:value-of select="text"/>
    </div>
    </xsl:for-each>
    </qt></xsl:template>

    J'avais essayé ça mais ça ne marche pas

  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
    Il faudrait que tu donnes un (court) échantillon de ton fichier XML.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <message date="2005-01-31T16:23:45">
    	<de>JB</de>
    	<a>AC</a>
    	<text><i>Test</i>Coucou c'est <b>JB</b><color value="000FFF">Test</color> <b>Test gras</b> </text>
    </message>
    Pour un ptit exemple

  4. #4
    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
    Alors si j'ai bien saisi, tu veux ne traiter que les balises <b>, c'est cela ?
    Pour les balises de type "mixed", les for-each ne sont pas appropriés car les balises imbriquées peuvent arriver dans n'importe quel ordre. Essaie plutôt de cette façon :
    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:template match="/"> 
      <qt> 
        <xsl:apply-templates select="message"/>
      </qt>
    </xsl:template>
     
    <xsl:template match="message">
      <div bgcolor='#FF0000'>Message de <xsl:value-of select="de"/> à  <xsl:value-of select="a"/>
      </div> 
      <xsl:apply-templates select="text"/>
    </xsl:template>
     
    <xsl:template match="text">
      <div bgcolor='#FFFFFF'>
        <xsl:apply-templates/>
      </div>
    </xsl:template>
     
    <xsl:template match="b">
      <b><xsl:apply-templates/></b>
    </xsl:template>

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Oua merci ça rulez

    J'ai cherché pas mal de temps sur le net, mais j'ai pas trouvé un seul exemple :/
    J'ai trouvé une piste ici mais vu que j'ai pas grand chose je trouvais ça un peu trop compliqué : http://www.stylusstudio.com/xsllist/200310/post00490.html

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

Discussions similaires

  1. [XML] [SAX] Extraire le nom des balises dans XML
    Par Fusio dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/06/2007, 23h19
  2. Afficher des balises dans un textarea
    Par gailup dans le forum Langage
    Réponses: 5
    Dernier message: 26/06/2006, 22h02
  3. Réponses: 16
    Dernier message: 23/06/2006, 17h48
  4. [XSL] Utiliser des CSS dans un fichier XSL
    Par alainme dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 13/04/2005, 10h47
  5. [XSL]faire une balise dans une balise??? (ComboBox)
    Par rastoix dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/05/2003, 08h34

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