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 :

[XSLT]Insérer une balise meilleur moyen


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut [XSLT]Insérer une balise meilleur moyen
    Bonjour,

    Voila j'aimerais dans un template insérer une balise seulement à certaine condition et j'aimerais savoir si ma facon de faire est la meilleur (ou du moins la plus adapté) pour insérer une balise dans mon texte.

    Voila comment je procède:

    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:template match="ELEMENT">
    <toto><xsl:value-of select"Nom"/>
    		<xsl:choose>
    			<xsl:when test="@ID='1'">
    				<First>
    					<xsl:call-template name="Produit"/>
    				</First>
    			</xsl:when>
    			<xsl:otherwise>
    				<xsl:call-template name="Produit"/>
    			</xsl:otherwise>
    		</xsl:choose>
    <xsl:value-of select="concat(', ', Code)"/></toto>
    	</xsl:template>
    Suis-je obligé de procéder comme ceci (tout segmenté) quand je veux créer une balise autour d'un élément d'un template répétitif? Ou y a t'il un meilleur moyen?

    Merci

    Thierry

  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,

    il n'y a pas vraiment de moyen meilleur qu'un autre, certains sont juste plus lisibles et faciles à maintenir que d'autres, tout en étant légèrement moins performants... C'est vraiment une question d'équilibre à trouver.

    Pour ton code, une autre écriture est possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <xsl:template match="ELEMENT[@ID='1']">
      <toto><xsl:value-of select"Nom"/>
        <First>
          <xsl:call-template name="Produit"/>
        </First>
        <xsl:value-of select="concat(', ', Code)"/></toto>
    </xsl:template>
    <xsl:template match="ELEMENT">
      <toto><xsl:value-of select"Nom"/>
          <xsl:call-template name="Produit"/>
        <xsl:value-of select="concat(', ', Code)"/></toto>
    </xsl:template>
    Personnellement, je trouve cela plus lisible et plus facile à maintenir ; maintenant, il y a un léger coût en performances induit par le pattern matching (en d'autres termes le choix du template à exécuter par le processeur). A toi de voir...
    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 Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Merci je pense que je vais prendre la tienne.

    ++

    Thierry

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

Discussions similaires

  1. [XSLT] "Ignorer" une balise
    Par cmasset dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 08/10/2009, 13h26
  2. [XSLT] Selectionner une balise selon la valeur de son attribut
    Par Monkon dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 03/09/2009, 17h03
  3. [MediaWiki] Insérer une balise <a>
    Par revan_69 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 16/07/2008, 15h50
  4. [DOM] Insérer une balise après une autres
    Par starr dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 19/07/2007, 20h27
  5. [XSL] insérer une balise <a name>
    Par guibong dans le forum XMLRAD
    Réponses: 2
    Dernier message: 01/08/2003, 15h04

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