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

Subject: RE: [xsl] Output in XML / HTML, double tags and CDATA in script.
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 17 Feb 2009 18:03:32 -0000
If you want to use the HTML output method, don't put your result elements in
the XHTML namespace.

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: sOLOWXEW aNDREJ [mailto:solovev@xxxxxxxxxxxxxx]
> Sent: 17 February 2009 17:21
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Output in XML / HTML, double tags and CDATA in script.
>
> 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-transit
> ional.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

Current Thread