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 :

génération de code avec xsl


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 54
    Par défaut génération de code avec xsl
    Bonjour, J'ai le fichier xml suivant :

    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
    22
      <?xml  version="1.0" ?>
    <root>
      <dynamic-element name="title"  type="text">
                   <dynamic-content>
      -         <![CDATA[ SUPER CE TITRE]]> f(clean);  
            </dynamic-content>
    
    
          <dynamic-element name="subtitle"  type="text_area">    
           <dynamic-content>
         -         <![CDATA[ ca c le sous titre]]> f(clean);  
             </dynamic-content>
    
    
         </dynamic-element>
    
    
       </dynamic-element>
    
    
     </root>
    J'aimerais écrire un fichier xsl me permettant d'ajouter les balises html gras (<b></b>) autour de "SUPER CE TITRE"

    pour le moment j'essaie de m'y prendre de la manière suivante mais je ne sais pas trop comment avancer ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output method="html" omit-xml-declaration="yes"/>
     <xsl:template match="dynamic-element">
        <xsl:if test="@name='title'">
            <xsl:template match="dynamic-content">
                <!-- Il faudrait faire la transformation ici ? mais comment ? -->
            </xsl:template>
        </xsl:if>
      </xsl:template>
    </xsl:stylesheet>

    Comment faut il faire ?

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    attention, tu ne peux pas imbriquer les <xsl:template> !

    Sinon, ceci devrait convenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <xsl:template match="dynamic-content">
      <xsl:choose>
        <xsl:when test="contains(., 'SUPER CE TITRE')">
          <xsl:value-of select="substring-before(., 'SUPER CE TITRE')"/>
          <b>SUPER CE TITRE</b>
          <xsl:value-of select="substring-after(., 'SUPER CE TITRE')"/>      
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="."/>
        </xsl:otherwise>
      </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

Discussions similaires

  1. Génération de code avec GEF
    Par demcoul dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 22/03/2011, 18h06
  2. Génération de code avec DSL Tools
    Par amiroushka dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 24/03/2009, 11h25
  3. génération de code avec une boucle
    Par fandeDB dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2007, 11h26
  4. Génération de code avec BOUML
    Par petit-teckel dans le forum BOUML
    Réponses: 4
    Dernier message: 03/03/2007, 17h42
  5. [UML] génération de code avec omondo.uml
    Par RENAULT dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 31/10/2003, 13h14

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