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]Afficher une image


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut [XSLT]Afficher une image
    Je voudrais afficher une image dans un fichier xml mais je ne connais pas la syntaxe.
    Extrait DTD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <!ELEMENT RECETTE (DESCRIPTION, OPERATIONS, CONSEIL, INGREDIENTS, PHOTO)>
    .......
    <!ELEMENT PHOTO EMPTY>
    <!ATTLIST PHOTO
    	URL ENTITY #IMPLIED
    Extrait XML
    Prologue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    :<!DOCTYPE RECETTES SYSTEM "D:\recette.dtd"[
    <!ENTITY Photo SYSTEM "C:\photo.gif" NDATA IE>
    <!NOTATION IE SYSTEM "C:\Program Files\Mozilla Firefox\firefox.exe">
    ]>
    .........
    <PHOTO URL="Photo"/>
    XSL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="RECETTES/RECETTE/PHOTO/@url" />
    Mais rien ne s'affiche dans mozilla ni dans IE. Pourriez vous m'aiguiller sur la syntaxe à utiliser pour afficher une image ?

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    dans ton xsl fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:element name="img">
                   <xsl:attribute name = "src" ><xsl:value-of select="/RECETTES/RECETTE/PHOTO/@url"></xsl:attribute> 
    </xsl:element>

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    J'ai bien inséré le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:element name="img">
            <xsl:attribute name = "src" >
    			 <xsl:value-of select="/RECETTES/RECETTE/PHOTO/@url"/>
    		</xsl:attribute> 
    </xsl:element>
    mais rien n'y fait aucun affichage. A la place de l'image, j'ai un carré avec croix rouge.
    img et src doivent ils être déclarés ailleurs que dans le fichier xsl ?

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    le nom de l'attribut est en MAJ
    et, met ton code dans le template :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="PHOTO">

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Aie aie aie, ça se complique. C'est vrai que je débute avec xml mais...
    Ci-joint ce que j'ai fait en 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
    35
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
    <xsl:template match="/">
    <b><p align="center">Recette de cuisine</p></b>
    <br/>
    <xsl:element name="img">
            <xsl:attribute name = "src" >
    			 <xsl:value-of select="RECETTES/RECETTE/PHOTO/@URL"/>
    		</xsl:attribute> 
    </xsl:element>
    <xsl:for-each select="RECETTES/RECETTE">
    	<b><xsl:value-of select="@TITRE"/></b><br/>
    	Temps de préparation : 	<xsl:value-of select="@TEMPSPREPA"/> min<br/>
    	Temps de cuisson : 	<xsl:value-of select="@TEMPSCUISSON"/> min<br/>
    	Difficulté : 	<xsl:value-of select="@DIFFICULTE"/><br/>
    	Nombre de parts : 	<xsl:value-of select="@NOMBREPARTS"/><br/>
    </xsl:for-each>
    <br/>
    <b>Ingrédients</b>
    <br/>
    <xsl:for-each select="RECETTES/RECETTE/INGREDIENTS/INGREDIENT">
    	<xsl:value-of select="@QTE"/><xsl:value-of select="@UNITE"/><xsl:text>  </xsl:text><xsl:value-of select="@NOM"/><br/>
    	<xsl:if test="@CALORIE">
    		<xsl:value-of select="@CALORIE"/> calories<br/>
    	</xsl:if>
    </xsl:for-each>
    <br/>
    <xsl:value-of select="RECETTES/RECETTE/DESCRIPTION"/>
    <br/>
    <xsl:for-each select="RECETTES/RECETTE/OPERATIONS/OPE">
    	<xsl:value-of select="."/><br/>
    </xsl:for-each>
    <br/>
    <b>Conseil : </b><xsl:value-of select="RECETTES/RECETTE/CONSEIL"/>
    </xsl:template>
    </xsl:stylesheet>
    Qu'est ce qui ne va pas ?
    Merci beaucoup

  6. #6
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    si tu obtiens une croix rouge cela signifie qu'il ne trouve pas l'image: on progresse. es tu sur que la valeur de @URL est le nom du fichier de l'image?
    as tu un fichier xml d'exemple?
    merci

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    La valeur de @URL est Photo et le nom de la photo est Photo.gif.

    Voilà le contenu de mon fichier xml. MERCI
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE RECETTES SYSTEM "D:\recette.dtd" [
    	<!ENTITY Photo SYSTEM "C:\Photo.gif" NDATA IE>
    	<!NOTATION IE SYSTEM "C:\Program Files\Mozilla Firefox\firefox.exe">
    ]>
    <?xml-stylesheet type="text/xsl" href="D:\recette.xsl"?>
    <RECETTES>
    	<RECETTE TITRE="Pomme de terre au cantal" TEMPSCUISSON="50" NOMBREPARTS="4" DIFFICULTE="2" TEMPSPREPA="10">
    		<DESCRIPTION>Des pommes entières fourrées de fromage râpé et cuites au four</DESCRIPTION>
    		<OPERATIONS>
    			<OPE>Pelez les pommes de terre, lavez les, essuyez les bien....</OPE>
    			<OPE>Disposez les pommes de terre ainsi préparées dans un plat allant au four</OPE>
    			<OPE>Sortez les pommes de terre du four. Avec une petite cuillère,...</OPE>
    		</OPERATIONS>
    		<CONSEIL>Une garniture raffinée pour des filets de sole...</CONSEIL>
    		<INGREDIENTS>
    			<INGREDIENT NOM="Grosses pommes de terre" QTE="4" CALORIE="180"/>
    			<INGREDIENT NOM="de cantal râpé" QTE="150" UNITE="g" CALORIE="390"/>
    			<INGREDIENT NOM="de beurre" QTE="75" UNITE="g" CALORIE="760"/>
    			<INGREDIENT NOM="Sel"/>
    		</INGREDIENTS>
    		<PHOTO URL="Photo"/>
    	</RECETTE>
    </RECETTES>

  8. #8
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    N'ayant toujours pas de réponse à mon post, je réitère ma demande. Quelqu'un a t-il une idée sur la façon d'afficher une image avec xsl ?

    Merci

  9. #9
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Tu cherche à faire quoi en sortie un html?

    A mon avis c'est un simple problème d'accès a ton image. Tu ne doit pas être dans le bon répertoire.

    Si tu entre dans le navigateur internet et que tu tapes l'addresse de ton site plus ce que tu rajoute es-ce que ton image s'affiche?

    Sinon ben il est la ton problème

    Si oui poste moi le résultat de ton XSLT renvoie dans l'attribut url + le chemin que tu as introduit dans le navigateur

    ++

    Thierry

    P.S. plus de mp pour ce genre de chose merci sinon...

  10. #10
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Désolée pour le MP. Je suis novice sur le forum et je pensais que ça se pratiquait.

    Pour mon pb, je n'ai pas de site. Je cherche seulement à comprendre comment fonctionne le xml et xsl. J'ai donc trouvé un exo sur le net et j'essaie d'afficher mon fichier xml associé à un fichier xsl dans IE.
    Mon fichier Photo.gif se trouve bien à la racine du C:
    Quand tu dis que je ne dois pas être dans le bon répertoire à quoi penses tu ? Est ce l'adresse mis dans le prologue ENTITY... que tu crois être fausse ?

    Merci

Discussions similaires

  1. Afficher une image codée en base 64 avec XSLT
    Par mansour67 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/03/2014, 14h58
  2. [XSLT] afficher une image
    Par zemzoum89 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 21/10/2010, 11h43
  3. [XSLT] Afficher une image via un lien dynamique ?
    Par Jean-Seba dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 06/11/2009, 14h09
  4. Afficher une image dans un XSLT qui a un chemin particulier en XML
    Par Courgette17 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/05/2009, 22h12
  5. Réponses: 5
    Dernier message: 08/05/2006, 00h39

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