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 :

Utilisation de variable pour attributs et éléments


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut Utilisation de variable pour attributs et éléments
    Bonjour,

    Cette discussion fait suite à la demande thelvin d'ouvrir un fil suite à une remarque que j'ai fait dans cette discussion:

    http://www.developpez.net/forums/d13...s/#post7378375

    Je disais que les attributs dans certaines opérations étaient mal supportés dans XSLT1.0 et 1.1.

    A ce titre je vous recommande la lecture de ce très bon article d'IBM qui avance des arguments solides pour le choix entre elements et attributs:

    http://www.ibm.com/developerworks/li...att/index.html


    Voici l'exemple en question sur le quel je suis tombé lors d'un projet:
    source XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="UTF-8"?>
    <test>
    	<elt cat="A">A</elt>
    </test>
    feuille de style 1 (plante en beauté)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    	<xsl:template match="/test">
    		<xsl:variable name="Categorie">A</xsl:variable>
    		<xsl:for-each select="./elt/[@cat=$Categorie]">	
    			<xsl:text>Attribut A détecté</xsl:text>
    		</xsl:for-each>
    	</xsl:template>
    </xsl:stylesheet>
    feuille de style 2 (fonctionne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    	<xsl:template match="/test">
    		<xsl:variable name="Categorie">A</xsl:variable>
    		<xsl:for-each select="./elt[.=$Categorie]">	
    			<xsl:text>Element A détecté</xsl:text>
    		</xsl:for-each>
    	</xsl:template>
    </xsl:stylesheet>
    je viens de faire le test avec MSXSL. Cet exemple sur lequel je suis tombé au cours d'un projet m'a laissé penser que les attributs et les éléments n'étaient pas vraient équivalents en XML vis à vis de XSLT1 et autres. Par contre dans mon souvenir ceci est corrigé en XSLT2.

    On me pardonnera la pauvre qualité du code pour produire cet exemple, je fais au plus vite.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 630
    Points
    21 630
    Par défaut
    Si la première plante en beauté, c'est parce qu'on ne met pas de / avant un prédicat [ ] :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select="./elt/[@cat=$Categorie]"
    Cela n'a rien à voir avec des questions d'attribut. La seconde marche parfaitement, parce qu'elle n'a pas mis de /

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    ok merci
    quand j'ai fait ce projet j'ai du faire une erreur de ce type sans la voir, parce que je me rappelle avoir bloqué dessus une bonne journée

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

Discussions similaires

  1. Utiliser une variable pour mettre des étiquettes visible
    Par patate5555 dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/06/2007, 13h51
  2. Réponses: 9
    Dernier message: 16/02/2007, 15h10
  3. 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
  4. Réponses: 7
    Dernier message: 07/09/2004, 14h16
  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