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 :

utiliser les variables pour définir le nom d'élément et attr


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    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 utiliser les variables pour définir le nom d'élément et attr
    salut,
    quel serait le bon code pour utiliser une variable ds cet exemple?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xsl:variable name="toto">ma_variable</xsl:variable>	
     
    		<xsl:element name="$toto">
    			<xsl:attribute name="$toto"><xsl:value-of select="$toto"/></xsl:attribute>
    			<xsl:value-of select="$toto"/>		
    		</xsl:element>
    avec ça g tous les cas qui m'interessent!!

    le but de l'exemple est de montrer la syntaxe nécessaire à l utilisation des variables
    merci d'avance

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
     
    	<xsl:template match="*">
    	<xsl:variable name="toto">ma_variable</xsl:variable>	
     
    		<xsl:element name="{$toto}">
    			<xsl:attribute name="{$toto}">mon att</xsl:attribute>
    			<xsl:value-of select="$toto"/>
    		</xsl:element>
    		<xsl:apply-templates/> 
    	</xsl:template>
    </xsl:stylesheet>
    pour ceux que ça interesserait
    ça a l air de fonctionner
    merci qd même

  3. #3
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut Re: utiliser les variables pour définir le nom d'élément et
    Citation Envoyé par tiscars
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:variable name="toto">ma_variable</xsl:variable>
    ecriture dangeureuse, tu cree un objet de type fragment node qui, s'il se comporte comme une chaine, n'en est pas une.
    on prefereras

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:variable name="toto" select="'ma_variable'"></xsl:variable>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:variable name="toto" select="string('ma_variable')"></xsl:variable>
    personnellement je prefere la deuxieme plus lisible

  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
    je comprend

    maintenant je souhaiterai faire le même genre d'opération mais avec un parametre du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<xsl:template match="/">
    		<xsl:call-template name="templ" >
    			<xsl:with-param name="param">
    				valeur_param
    			</xsl:with-param>
    		</xsl:call-template>
    	</xsl:template>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	<xsl:template name="templ">
    		<xsl:param name="param"/>	
    			<xsl:element name="$param"></xsl:element>
    ....
    mais la je ne vois pas de soluce

  5. #5
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     <xsl:template match="/"> 
          <xsl:call-template name="templ" > 
             <xsl:with-param name="param" select="string('valeur_param ')"/>          
     
          </xsl:call-template> 
       </xsl:template>

  6. #6
    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
    merci mais le but est surtout de réussir a définir le nom d'un élément, à partir du nom ou de la valeur du param type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:element name="$param"></xsl:element>
    je sais pas si je suis assez clair là

  7. #7
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par tiscars
    merci mais le but est surtout de réussir a définir le nom d'un élément, à partir du nom ou de la valeur du param type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:element name="$param"></xsl:element>
    je sais pas si je suis assez clair là
    Soit tu 'es pas clair avec les autres, soit avec toi meme.
    ce que je t'explique c'est que la facon de declarer une variable ou un parametre utiliser le select ou non, decide du type de la variable ou du parametre.
    Or pour l'utliser comme tu le fais le param doit etre de type string, donc declare comme je l'ai fait
    edit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:call-template name="templ" > 
             <xsl:with-param name="param"> 
                valeur_param 
             </xsl:with-param> 
          </xsl:call-template>
    pas bon + clair?

  8. #8
    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
    hummm, effectivement je n avais pas comprs ce que tu voulais dire

    du coup en déclarant mon parametre de type string...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:element name="{$param}"></xsl:element>
    ça marche
    je te remercie pour ta patience

Discussions similaires

  1. utiliser une variable pour définir un style
    Par olysmar2 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 28/11/2014, 11h38
  2. Réponses: 1
    Dernier message: 27/11/2008, 10h55
  3. Réponses: 9
    Dernier message: 25/02/2008, 11h40
  4. Utiliser une variable pour stocker les noms d'objets.
    Par en_gel_ho dans le forum Access
    Réponses: 4
    Dernier message: 03/01/2007, 16h44
  5. [XSL] utiliser une variable pour nom d'élément
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 07/09/2004, 13h58

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