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 :

[XML/XSL] Recuperation de valeurs


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 67
    Points
    67
    Par défaut [XML/XSL] Recuperation de valeurs
    Bonjour,

    Je souhaiterais pouvoir recuperer des valeurs differentes dans un tag XML grace a une commande XSL qui viendrait choisir les valeurs selon leur id.

    Par exemple, choisir d'aller chercher une image grace a son id defini dans le tag et non grace a son nom.

    La facon dont je procede pour recuperer des images dans XSL a partir d'XML est la suivante :

    D'abord, mon fichier XML :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?xml version="1.0"?>
     
    <?xml-stylesheet href="cave.xsl" type="text/xsl"?>
     
    <cave>
     
    	<bouteille>
     
    		<nom>Château Canon La Gaffelière (Grand Cru Classé) 2001</nom>
     
    		<region> France - Bordeaux - Libournais - Saint-Emilion A.O.C.</region>
     
    		<millesime>2001</millesime>
     
    		<couleur>Rouge</couleur>
     
    		<alcool>13%</alcool>
     
    		<image id="1">bot001</image>
     
    	</bouteille>
     
    	<bouteille>
     
    		<nom>Pomerol</nom>
     
    		<region> France - Bordeaux - Libournais - Saint-Emilion A.O.C.</region>
     
    		<millesime>2001</millesime>
     
    		<couleur>Rouge</couleur>
     
    		<alcool>13%</alcool>
     
    		<image id="2">bot002</image>
     
    	</bouteille>
     
    </cave>
    Et le fichier XSL :
    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
    31
    32
    33
    34
     
    <?xml version="1.0"?>
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <html>
    <body bgcolor="#FFFFFF">
    <xsl:for-each select="cave/bouteille">
    <table border="0" cellspacing="0"  cellpadding="3" align="center">
    <tr>
    <td rowspan="6"><img  src="imagescjd/bot001.jpg" align="middle"/></td>
    </tr>
    <tr>
    <td><b>Nom :</b><xsl:value-of  select="nom"/></td>
    </tr>
    <tr>
    <td><b>Région  :</b><xsl:value-of  select="region"/></td>
    </tr>
    <tr>
    <td><b>Millésime  :</b>	<xsl:value-of  select="millesime"/></td>
    </tr>
    <tr>
    <td><b>Couleur  :</b><xsl:value-of  select="couleur"/></td>
    </tr>
    <tr>
    <td><b>Teneur en  alcool :</b><xsl:value-of  select="alcool"/></td>
    </tr>
    </table>
    <br/><br/>
    </xsl:for-each>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    Pour l'instant, les informations sont bien retranscrites, cependant c'est la meme image qui s'affiche pour les deux tableaux car le src vient chercher une image specifique et non son id.

    J'ai passe pas mal de temps mais en vain a rechercher une syntaxe dans XMLSpy et sur Internet qui permetterait de selectionner un contenu XML, dans mon cas une image, par son id et d'aller chercher cette image dans un dossier specifique.

    Est ce que c'est possible ?

    Merci

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

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

    il est possible de placer dans une valeur d'attribut le résultat d'une expression XPath, en la plaçant entre {}. Dans ton cas, pour placer le contenu de la balise image dans l'attribut src, ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "><img  src="imagescjd/{image}.jpg" align="middle"/>
    Il est également possible de créer l'attribut src avec ces balises XSLT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <img align="middle">
      <xsl:attribute name="src">
        <xsl:value-of select="image"/>
      </xsl:attribute>
    </img>
    La première possibilité est évidemment plus concise.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 67
    Points
    67
    Par défaut
    Super cool !!!

    Merci a toi GrandFather !

    J'avais essaye d'exploiter une expression XPath dans mon script xsl mais j'avais pas la bonne combinaison.

    Merci encore

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

Discussions similaires

  1. Recuperer des valeurs en XSL
    Par casgr1 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 13/03/2006, 08h51
  2. [XSL]récupérer une valeur de plusieurs fichiers XML
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 05/02/2006, 00h32
  3. [xsl-fo] Recuperation de valeurs dans une boucle
    Par serwol dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 12/12/2005, 12h13
  4. [XML/XSL] Récupérer la valeur d'un id
    Par lguittet dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/12/2005, 10h51
  5. [xml-xsl][debutant]probleme de recuperation d'url
    Par psychogore dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2005, 17h09

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