xsl-list
[Top] [All Lists]

[xsl] Output in XML / HTML, double tags and CDATA in script.

2009-02-17 12:20:33
Hi. I have such XSLT code:

<?xml version="1.0"?>
<xsl:stylesheet
version="1.0"
xmlns="http://www.w3.org/1999/xhtml";
xmlns:php="http://php.net/xsl";
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>


<xsl:output method="html" encoding="utf-8"
 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes" />

<xsl:template match="/">
 <html>
  <body>
   <script language="Javascript">
     if(1 == 1 &amp; 2 == 2)
      alert(1);
   </script>
   <br/>
   <img src="test.jpg"/>
  </body>
 </html>
</xsl:template>
</xsl:stylesheet>

When i'm using output method="html", i have <br/> and <img/> tags transformed to <br></br> and <img></img>. This makes big problems, such as IE and Opera makes two newlines on <br></br> and FF only one. So i put output method="xml" and <br/> tag remains the same. But CDATA appears in <script>. It looks like
<script language="Javascript"><![CDATA[
                 if(1 == 1 & 2 == 2)
                    alert(1);
           ]]></script>
in result html. And this is javascript error.
Is there any way to solve this problem? I need "<br/>" style tags in my result html and working script.

I'm using Apache and PHP XSLT transform. phpinfo: libxslt Version 1.1.17 libxslt compiled against libxml Version 2.6.26 EXSLT enabled libexslt Version 0.8.13

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>