Bonsoir,
J'ai un petit problème avec ma feuille XSL.

Dans un nœud CDATA de mon XML, j'ai des données HTML (sortant d'un moteur de texte enrichi en javascript - pas toujours XHTML, d'où l'intérêt du CDATA pour ne pas casser la structure).

Ex :
<value>
<![CDATA[<strong>Mon texte</strong><br>...]]>
</value>

Dans la balise <xsl:ouput/> de ma feuille XSL, j'ai bien définit cdata-section-elements="value", mais mon résultat est toujours afficher en texte : <strong>Mon texte</strong><br> au lieu d'avoir mon texte en Gras et un saut de ligne.

Si j'ai bien compris après de multiples recherches sur internet, le cdata-section-elements sert en fait à insérer des CDATA et non à les enlever.

Quelqu'un aurait-il une solution à mon problème ?
Merci.

PS : Je m'excuse d'avance si la question a déjà été posée sur ce forum mais, vu la complexité de ma demande, je ne parvient pas à trouver de POST en rapport avec ma question.
Bonsoir,

Je te conseil de chercher du côté de l'attribut disable-output-escaping

Mais dans ce cas il me semble que le html ne doit pas être dans un CDATA mais tel-quel en remplaçant les < et > par les entités correspondantes (&lt; &rt;).

[b]XML[/b]
<value>
  &lt;strong&rt;Mon texte&lt;/strong&rt;&lt;br /&rt;
</value>

[b]XSL[/b]
<xsl:template match="value">
  <xsl:value-of select="." disable-output-escaping="yes" />
</xsl:template>

Modifié par Necromantik (03 Oct 2007 - 23:35)
Bonjour,

J'avais exactement le même problème.

J'ai essayé , et ça a marché !!
Donc merci Necromantik Smiley lol Smiley lol Smiley lol
Même problème, bonne solution pour moi, mais pas besoin de changer la source XML.

disable-output-escaping="yes" est suffisant.

merci !
Même problème pour moi, mais pas résolu avec disable-output-escaping="yes". Enfin pas avec Firefox.

ça fait maintenant deux jours que je fais le tour du web en recherche d'une solution, Firefox ne gérant pas cette propriété, et affichant le contenu d'un CDATA comme du texte brut.

Les seules solutions que j'ai trouvé sont l'utilisation de fonction javascript qui "décodent" les balises <> etc pour retransformer en balises HTML.

Comment utilisez-vous l'html contenu dans des CDATA ? avez-vous une solution compatible avec tous les navigateurs ? Les sujets traitant ce problèmes datent de 2003 à 2008 sans rien proposer de concret...

Au passage, j'utilise le plugin "Transform" de jQuery pour faire mes transformation XSLT...

Merci d'avance !