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 :

URL d'une image passé en paramètre dans XSL [XSLT 1.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut URL d'une image passé en paramètre dans XSL
    Bonjour à tous,
    J'ai beau avoir fait le tour du forum, je ne trouve pas de solution à mon problème.
    En fait, j'utilise une application Java qui me récupère les données d'un fichier xml et qui me permet de générer des graphiques. Ensuite je passe par une feuille XSL pour générer une page HTML au format que je souhaite. Le seul problème c'est que je n'arrive pas à afficher mes graphiques dans ma page HTML, au lieu d'avoir mon graphique (au format png) j'ai uniquement l'url de celui-ci qui s'affiche à l'écran
    Voici mon code :
    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
     
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns="http://www.w3.org/1999/xhtml"
                    version='1.0'>
     
        <xsl:output method="html" encoding="ISO-8859-1" indent="yes" />
        <xsl:param name="graph1" select="'default'" />
        <xsl:param name="graph2" select="'default'" />
     
    <xsl:template match="/">
    <table width="100%">
         <tr>
            <td width="100%">
                 <img>
                      <xsl:value-of select="$graph1"/>
                  </img>
             </td>
         </tr>
         <tr>
             <td width="100%">
                 <xsl:text disable-output-escaping="yes" >&lt;img src='</xsl:text>
                        <xsl:value-of select="($graph2)" />
                  <xsl:text disable-output-escaping="yes" >' /&gt;</xsl:text>
             </td>
        </tr>
    </table>
    </xsl:template>
     
    </xsl:stylesheet>
    L'alimentation de mes deux paramètres (graph1 et graph2) se fait correctement via java car l'url affichée sur ma page html est la bonne !!!
    Comme vous pouvez le voir, j'ai essayé de plusieurs façons mais rien à faire... Est-ce que quelqu'un peut m'aider ???
    Merci d'avance pour vos réponses.

  2. #2
    Membre émérite
    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
    Points : 2 371
    Points
    2 371
    Par défaut
    Bonjour,

    l'url affichée sur ma page html est la bonne
    Si ton image ne s'affiche pas alors c'est qu'elle n'est pas placée dans le bon répertoire.

  3. #3
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    C'est bien là mon problème c'est que mon image est bien dans le bon répertoire car si j'exécute l'url de mon image directement dans mon explorer, mon image apparaît tout de suite....

  4. #4
    Membre émérite
    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
    Points : 2 371
    Points
    2 371
    Par défaut
    Bon, il suffit alors de comparer une page HTML statique avec le code généré par ton XSL.

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    +1 à cette remarque qui est toujours la bonne méthode, mais tant qu'à faire mettons les points sur les i.

    La balise <img> n'a jamais de contenu, n'est-ce pas ? Alors pourquoi y en a-t-il un dans ce XSL ? Comment indique-t-on l'URL d'une image ?

  6. #6
    Membre émérite
    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
    Points : 2 371
    Points
    2 371
    Par défaut
    Voici un élément de réponse :

    où la variable graphn corresponds à l'URL de l'image.

  7. #7
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Autant pour moi, c'est un mauvais copier/coller de ma part...
    J'ai bien cette ligne de code ci-dessous qui contient bien la bonne URL mais je n'arrive toujours pas à afficher mon image...
    Si je regarde mon code source de ma page html, j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="C:\Documents and Settings\MichelT\.netbeans\6.8\apache-tomcat-6.0.20_base\temp\jfreechart-30638.png"/>
    Est-ce un problème d'espace dans l'url ???

  8. #8
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 847
    Points
    4 847
    Par défaut
    ça dépend, est-ce que tu trouves que ça ressemble à une URL (protocol://domaine[:port]/chemin_relatif/fichier.ext) ?

  9. #9
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Ok, désolé pour le vocabulaire, on va donc parler de chemin ou d'adresse et non pas d'url...
    Je suis d'accord avec toi Loceka, les autres images de mon application sont bien dans une répertoire image et je l'ai affiche bien avec comme adresse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="images/monimage.png"/>
    Forcément là ça fonctionne correctement.
    Pour mon problème, en fait ça n'est pas tout a fait la même chose car ce sont des graphiques que je génère dynamiquement en fonction de certains critères. Donc je n'ai pas ces images dans mon application.

  10. #10
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 847
    Points
    4 847
    Par défaut
    Je ne chipotais pas sur la terminologie, je voulais juste te faire remarquer qu'un document HTML ne comprend que les URL (relatives ou absolues).

    Un chemin (non URL) vers un fichier ne fonctionnera pas, même en local.

  11. #11
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    C'est bien ça le problème... Une idée peut-être de comment faire car là j'avoue que je tourne en rond et je trouve pas de solution....

  12. #12
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 847
    Points
    4 847
    Par défaut
    Oui :
    1. Générer tes images à un endroit accessible par l'application web
    2. Récupérer le chemin dans ton XSL
    3. Le transformer en URL (relative ce sera plus simple) ce qui veut dire ne conserver que la sous-arborescence du site et changer les "\" en "/" si nécessaire (en utilisant la méthode translate() par exemple)

  13. #13
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Bon j'ai finalement réussi à résoudre mon problème en utilisant un servlet java qui me récupère l'url de mon image temporaire et me revoie un objet java contenant mon image...
    Du coup je passe cet objet en paramètre dans mon xsl dans lequel je n'ai rien changé, j'ai toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:param name="graph1" select="'default'" />
    ...
    <img src="{$graph1}"/>
    En revanche, mon paramètre graph1 ne contient plus un chemin mais une URL comme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="/ProcessReports/servlet/DisplayChart?filename=jfreechart-6073.png"/>
    Du coup, je n'ai plus aucun problème d'affichage.
    Encore merci pour toutes vos réponses et votre aide !!!

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

Discussions similaires

  1. Poids d'une image passée en URL
    Par Sylvain245 dans le forum Langage
    Réponses: 10
    Dernier message: 09/04/2009, 10h23
  2. Accéder à une page avec des paramètres dans l'url
    Par *alexandre* dans le forum JSF
    Réponses: 3
    Dernier message: 11/03/2009, 20h53
  3. comment passé un paramètre dans une requête sql
    Par java2008 dans le forum BIRT
    Réponses: 0
    Dernier message: 03/03/2008, 12h11
  4. Réponses: 3
    Dernier message: 27/04/2006, 13h33
  5. Réponses: 3
    Dernier message: 01/02/2006, 21h31

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