Hum je ne me rend compte que maintenant que le topic était vide... désolé !
Bon, je vous explique mon problème : j'ai un fichier XML qui comporte plusieurs balises, dont une qui code une image en base64. Je parviens à afficher cette image sous firefox mais pas sous IE. Ca, c'était prévu. Le problème cest que de toutes les solutions que j'ai trouvées (
http://dean.edwards.name/weblog/2005/06/base64-ie/ - cette solution fonctionne mais pour de petites images, mes images ont des tailles de 400x300... et des formats différents -,
http://www.hedgerwow.com/360/dhtml/base64-image/demp.php,
http://danielmclaren.net/2008/03/embedding-base64-image-data-into-a-webpage,
http://www.bennherrera.com/EmbeddedImage/), je ne parviens pas à en mettre une seule en oeuvre. Disons que je débute royalement en XSL, et que du coup je ne parviens pas trop à déterminer où je dois placer les morceaux de code php...
Bref, si quelqu'un pouvait me guider un peu sur l'une ou l'autre des solutions de façon à pouvoir afficher une image 400x300 - les petites j'y arrive -, je lui en serais très reconnaissant !
Je vous montre aussi le monstre XSL que j'ai pondu (n'hésitez pas à critiquer toute faute de débutant, j'y connais rien ) :
Voilà en gros comment se structure mon XSL. Pour le XML, la seule chose nécessaire à savoir est qu'on a une balise 'GrandeImage' qui contient l'image en base64.
Si quelqu'un a une idée, je trouve que ça serait pas mal qu'on puisse enfin donner une explication claire et précise pour afficher une image 'embedded' sous IE. Je pense que ce doit être un problème auquel beaucoup se confrontent : un XML permet de stocker plein de données, mais une image c'est encore mieux... alors pouvoir la restituer dans le cadre de l'affichage d'un article ça pourrait être un problème assez commun !
Merci !
Bon, je vous explique mon problème : j'ai un fichier XML qui comporte plusieurs balises, dont une qui code une image en base64. Je parviens à afficher cette image sous firefox mais pas sous IE. Ca, c'était prévu. Le problème cest que de toutes les solutions que j'ai trouvées (
http://dean.edwards.name/weblog/2005/06/base64-ie/ - cette solution fonctionne mais pour de petites images, mes images ont des tailles de 400x300... et des formats différents -,
http://www.hedgerwow.com/360/dhtml/base64-image/demp.php,
http://danielmclaren.net/2008/03/embedding-base64-image-data-into-a-webpage,
http://www.bennherrera.com/EmbeddedImage/), je ne parviens pas à en mettre une seule en oeuvre. Disons que je débute royalement en XSL, et que du coup je ne parviens pas trop à déterminer où je dois placer les morceaux de code php...
Bref, si quelqu'un pouvait me guider un peu sur l'une ou l'autre des solutions de façon à pouvoir afficher une image 400x300 - les petites j'y arrive -, je lui en serais très reconnaissant !
Je vous montre aussi le monstre XSL que j'ai pondu (n'hésitez pas à critiquer toute faute de débutant, j'y connais rien ) :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- En-tete-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" encoding="ISO-8859-15"/>
<!-- Définition des variables utiles lors d'appels à des liens ou des images -->
<xsl:variable name="url_article" select="FORM/ARTICLE/Url"/>
<xsl:variable name="image_article" select="FORM/ARTICLE/GrandeImage"/>
<xsl:variable name="titre" select="FORM/ARTICLE/Titre"/>
<!-- Définition de cette ultime variable nécessaire du fait que la source de l'image dans le XML n'a pas le pseudo entête nécessaire à son affichage HTML -->
<xsl:variable name="image_64" select="concat('data:image;base64,',$image_article)"/>
<!-- Début de la mise en forme -->
<xsl:template match="/" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title>Consultation de l'article '<xsl:value-of select="FORM/ARTICLE/Titre"/>'</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="fr" />
<style type="text/css">
...
</style>
</head>
<!-- Affichage du corps -->
<body>
...
<!-- Affichage de l'image du XML. Fonctionne sous firefox mais pas sous IE -->
<img src="{$image_64}" alt="{$titre}" width="400" height="300"/>
...
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Voilà en gros comment se structure mon XSL. Pour le XML, la seule chose nécessaire à savoir est qu'on a une balise 'GrandeImage' qui contient l'image en base64.
Si quelqu'un a une idée, je trouve que ça serait pas mal qu'on puisse enfin donner une explication claire et précise pour afficher une image 'embedded' sous IE. Je pense que ce doit être un problème auquel beaucoup se confrontent : un XML permet de stocker plein de données, mais une image c'est encore mieux... alors pouvoir la restituer dans le cadre de l'affichage d'un article ça pourrait être un problème assez commun !
Merci !