Bonjour,
après deux jours de recherche, je me résous à poster.
Il y a une quantité impressiante de posts faisant référence à mon problème, mais aucune solution intéressante n'a été proposée.
J'utilise la transformation Xsl et Xml pour former du Html. Dans certaines balises Xml, j'ai placé du contenu Html dans un Cdata et j'aimerai que suite à la transformation, il soit considéré comme du html et non comme du texte brut.
J'ai donc mon XML :
Ensuite mon XSL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <data> <![CDATA[<strong>ici mon texte</strong>,ensuite <a href="http//www.test.com">un lien</a>]]> </data>
Avec l'attribut disable-output-escaping="yes", la sortie fonctionne bien sous IE, mais pas sous Firefox, qui me sort le Cdata comme du texte brut avec des < et >. C'est normal, ai-je lu, c'est le W3C qui désaprouve l'utilisation de disable-output-escaping.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <xsl:template match="data" > <p> <xsl:value-of select="." disable-output-escaping="yes" /> </p> </xsl:template>
Ok, mais alors, quelle est la solution ? J'ai trouvé par-ci par-là des fonctions javascript qui décodent les entités < et > pour retransformer le tout en balises HTML... pas très propre.
Dans mon cas, j'utilise le plugin Transform de jQuery.
Merci d'avance pour votre aide, je suppose que je ne serai pas le seul dépanné...
Partager