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 utilisation de variable


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut xsl utilisation de variable
    Bonsoir

    Voilà j'ai un fichier xml résumé comme suit:

    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
    23
    24
    25
    26
    27
    28
    29
    30
     
    <Instances>
    	<Instance>
    		<author>
    			<name>nom4</name>
    			<article>VRP</article>
    		</author>
    		<Nodes/>
    		<Arcs/>
    		<VehicleTypes/>
    	</Instance>
    	<Instance>
    		<author>
    			<name>nom1</name>
    			<article>VRPP</article>
    		</author>
    		<Nodes/>
    		<Arcs/>
    		<VehicleTypes/>
    	</Instance>
    	<Instance>
    		<author>
    			<name>nom4</name>
    			<article>VRPTW</article>
    		</author>
    		<Nodes/>
    		<Arcs/>
    		<VehicleTypes/>
    	</Instance>
    </Instances>

    J'ai également le fichier xsl 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
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!-- Time-stamp: "year-list.xsl  28 sep 2010 11:09:05" -->
    <!-- Feuille de style créant des listes des livres pour chaque année -->
    <xsl:stylesheet version="2.0"
    		xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
                    xmlns="http://www.w3.org/1999/xhtml">
     
    <xsl:template match="Instances">
    <html>
      <head/>
      <body>
     
      <form method="post" action="wqazs.php" enctype="multipart/form-data">
    	<p>
    		<select name="choixNom">
    			<xsl:for-each-group select="Instance" group-by="author">
    			<xsl:variable name="name_author" select="author/name"/>
    				<option value="$name_author">
    					<xsl:value-of select="author/name"/>
    				</option>
    			</xsl:for-each-group>
    		</select>
    		<input type="submit" name="submit" value="ok " />
    	</p>
    	</form>
      </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    et voici la page html générée :
    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
     
    <?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml">	<head>
    			<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    		<title>Bibliographie par année</title>
    	</head>
    	<body>
    		<form method="post" action="wqazs.php" enctype="multipart/form-data">
    			<p>
    				<select name="choixNom">
    					<option value="$name_author">nom4</option>
    					<option value="$name_author">nom1</option>
    				</select>
    				<input type="submit" name="submit" value="ok " />
    			</p>
    		</form>
    	</body>
    </html>

    Mon problème est le suivant :comme vous pouvez le voir sur le fichier html, l'attribut value de la balise option à la même valeur pour nom1 et nom4, or je voudrai que value contienne soit nom1, soit nom4. Je pense que le problème vient du xsl avec la variable name_author, mais je ne vois pas quoi modifier.

    est-ce quelqu'un pourrai m'aider svp?

    merci

  2. #2
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Bonjour,

    Tu as oublié des accolades pour signifier que tu interprètes le contenu puisque tu n'es pas dans un attribut select d'une balise XSL :
    Code XSL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <option value="{$name_author}">
      [...]
    </option>
    Faire ceci est exactement équivalent à :
    Code XSL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <option>
      <xsl:attribute name="value"><xsl:value-of select="$name_author"/></xsl:attribute>
      [...]
    </option>

  3. #3
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour BiM,

    "exactement" pour ce cas particulier, mais ce n'est pas toujours le cas.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par polymorphisme Voir le message
    Bonjour BiM,

    "exactement" pour ce cas particulier, mais ce n'est pas toujours le cas.
    ?

    Euh... Un exemple (ou plutôt contre-exemple) de ce à quoi il faut faire attention ?
    Parce qu'il n'y a pas grand-chose qui me vient, à moi. À part peut-être pour les attributs qui doivent être mis dans un namespace...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    ça y est ça marche

    merci beaucoup de m'avoir aidé

  6. #6
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Citation Envoyé par thelvin Voir le message
    ?

    Euh... Un exemple (ou plutôt contre-exemple) de ce à quoi il faut faire attention ?
    Parce qu'il n'y a pas grand-chose qui me vient, à moi. À part peut-être pour les attributs qui doivent être mis dans un namespace...
    +1, je veux bien un contre-exemple, il n'y a rien qui me vient à l'esprit. Ca peut être intéressant.

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

Discussions similaires

  1. Utiliser une variable "externe" dans une condition xsl
    Par JulienNvr dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 06/01/2014, 15h45
  2. [XSL] Utiliser une variable PHP dans XSL
    Par mabedan dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 13/08/2007, 15h25
  3. [XSL] utilisation du mode avec une variable
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 20/04/2006, 10h12
  4. [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
  5. [débutant][xsl]incrémenter une variable
    Par guitalca dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 01/04/2003, 15h19

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