Caracteres '<' et '>' dans un javascript contenu dans un XSL

Caracteres '<' et '>' dans un javascript contenu dans un XSL - XML/XSL - Programmation

Marsh Posté le 03-03-2006 à 20:13:41    

Bonjour, voila j'ai un fichier XSL sensé transformer un document XML en une page XHTML 1.0, tout ce passe parfaitement sauf pour le javascript de cette page ou des caractères de comparaisons sont présents. Les caractères '<' et '>' sont transformés en '&lt;' et '&gt;' et donc ie (oui juste lui :o ) n'arrive pas a interpréter le script (erreur de script).
 
Voici le xml (vide ici) et le xsl
 
page.xsl :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output
 method="html"
 version="1.0"
 encoding="UTF-16"
        doctype-public= "-//W3C//DTD XHTML 1.0 Strict//EN"  
        doctype-system="http://www.w3.org/TR/xhtml1/dtD/xhtml1-strict.dtd"
 indent="yes" />
 
 <xsl:template match="/">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
   <head>
    <script type="text/javascript"><![CDATA[
     <xsl:text>
 
      function f1(){
       alert(2 > 1);       // Le problème est ici!!
      }
 
     </xsl:text>
    ]]></script>
   </head>
   <body onload="javascript:f1()">
    <span>page</span>
   </body>
  </html>
 </xsl:template>
 
</xsl:stylesheet>


 
page.xml :

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="page.xsl"?>
<doc />


 
Qui saura trouver mon erreur :d


Message édité par fils_de_la_lumiere le 04-03-2006 à 00:15:47
Reply

Marsh Posté le 03-03-2006 à 20:13:41   

Reply

Marsh Posté le 03-03-2006 à 20:52:17    

Je viens de m'apercevoir que quand j'enlève la partie en gras dans la balise suivante, je n'ai plus de problème.  
Mais j'utilise toujours cette balise HTML pour les documents XHTML  :heink:  
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">


Message édité par fils_de_la_lumiere le 03-03-2006 à 20:53:32
Reply

Marsh Posté le 04-03-2006 à 00:36:29    

c'est bon j'ai trouvé il faut mettre le script dans une variable et l'appeler avec :
 
<xsl:value-of select="$javascript" disable-output-escaping="yes" />

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed