Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: Une balise <img> dans un tag XML non interprété après transformation avec xsl.

[xml-tech] Re: Une balise <img> dans un tag XML non interprété après transformation avec xsl.

Auteur: Tiscar Sebastien <tiscars@sofreavia.fr>
Date: 22/09/2005 - 10:56
X-Mailer: Microsoft Outlook Express 5.50.4522.1200

bonjour afin d empecher le remplacement des caractères spéciaux html
il faudra ecrire dans le template
<xsl:value-of select="MonTag" disable-output-escaping="yes">

Sébastien TISCAR ASTASIO
Sofréavia

Tel : +(33 0) 1-41-23-46-74
Cel : +(33 0) 6-99-16-65-11
e-mail: tiscars@sofreavia.fr
http://www.sofreavia.com

----- Original Message -----
From: "MATHIEU Sylvère" <sylvere.mathieu@-------.--->
To: <xml-tech@xmlfr.org>
Sent: Thursday, September 22, 2005 10:45 AM
Subject: [xml-tech] Une balise <img> dans un tag XML non interprété après
transformation avec xsl.

Bonjour,

Alors, le contexte est le suivant :

J'ai un fichier XSL qui sert de template pour des pages html et dans ces
pages html je veux afficher une image, dont l'url est variable.

Mes fichier XSL qui servent de template, sont générés à partir de fichiers
HTML contenants des balises spéciales qui sont changées, grâce à un autre
XSL( qu'on appellera XSLT car c'est lui qui fait le Transform) qui reconnaît
ces balises, en balise <xsl:value-of select="..." /> dans le fichier XSL et
qui pourront à leur tour récupérer des valeurs dans des bean JAVA
transformés pour ce faire en fichier XML simples.

Schématiquement, ça donne :

D'un coté, j'ai :

HTML + XSL(XSLT) --> XSL(Template)

D'un autre coté, j'ai :

Bean JAVA --> XML (avec juste des tag correspondant aux attributs de mon
bean)

Et pour générer ma page HTML :

XSL(template généré) + XML(du bean correspondant) --> HTML

Le problème rencontré :

Je ne peux pas mettre la balise <img src= «[ma variable]» > directement
dans le XSL(XSLT) ni dans le HTML(celui de départ) car comme la variable est
de type : <xsl:value-of select="/ProductBean/imageUrl" />, au moment de la
génération du fichier XSL(Template), j'ai une erreur comme quoi j'ai pas le
droit de mettre de balises <> dans la partie src= « ».

J'ai essayé de passer ma fonction qui récupère la valeur de mon url dans une
variable tampon dans le XSL(XSLT) qui elle pouvait être mise dans le src=
«». La fonction est la suivante :

<xsl:template match="imageUrl">

         <xsl:element name = "xsl:value-of">

                   <xsl:attribute
name="select">/ProductBean/imageUrl</xsl:attribute>

         </xsl:element>

</xsl:template>

Mais la valeur récupérée par cette fonction ne s'affectait pas à la variable
tampon. Donc ne passait pas à la balise <img>.

J'ai donc décidé de construire ma balise <img> directement dans la variable
de mon bean Java (à l'appel de l'action java qui récupère la valeur de
l'url. Donc au lieu d'avoir à afficher juste l'url de l'image dans la
balise, j'ai directement ma balise dans ma chaîne de caractère, ce qui règle
le problème des caractères <> dans le src= «»).

Cette chaîne de caractère qui contient le texte de ma balise (complète) est
contenue dans un bean JAVA sous la forme : String imageTag = « <img src=
 monUrl.jpg »></img> » , et j'ai juste à l'appeler avec une variable de type
: xsl:value-of select="/ProductBean/imageTag" /> dans mon XSL lors de la
génération de la page HTML.

Et là un autre problème se pose :

Lorsque je convertis les champs de mon bean dans un fichier XML grâce à une
fonction automatique, ma variable imageTag devient :

<imageTag><![CDATA[<img
src="/gempsyupload/images/jambon.jpg"></img>]]></imageTag>

Il est normal que ma balise <img> soit entouré par ![CDATA[ car XML
n'apprécierait pas une balise qu'il ne pourrait pas interpréter (ici la
balise <img>).

Et le problème survient lors de la génération de la page HTML à partir du
XSLet du XML, car les caractères < et > de ma chaîne de caractère sont
transformés en &lt; et &glt; ce qui fait que ma balise image n'est plus
interprété par HTML. Donc toujours pas d'image à l'affichage, mais juste :
<img src="/monUrl.jpg "></img>

Maintenant les différents problèmes exposés, la question :

Je suis quasiment obligé de contourner le problème qui empêche de mettre des
<> dans le src= «» par cette chaîne de caractère qui contient tout mon tag i
mg.

Mais alors, comment faire pour que les caractères < et > ne soit pas changés
en &lt; et &glt; et puisse être interprétés dans la page HTML.

A moins que vous ayez une autre solution pour passer ma variable dans
l'attribut src de la balise image.

Merci d'avance

Cordialement,

Sylvère MATHIEU

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de 
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant 
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Thu Sep 22 11:52:14 2005

Archive générée par hypermail 2.1.8 le 18/10/2005 - 08:12 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement