[xsl] Troubles with libxslt in PHP again: CDATA in <script>

Subject: [xsl] Troubles with libxslt in PHP again: CDATA in <script>
From: "Martynas Jusevicius" <martynas.jusevicius@xxxxxxxxx>
Date: Thu, 11 Oct 2007 14:01:14 +0200
Hi xsl-list,

I'm working with PHP 5.2, and its XSL extension based on libxslt is
giving me headache again. It used to add Content-Type <meta> in my
XHTML output where it was not supposed to, and now in a similar manner
it is implicitly adding CDATA sections inside my <script> elements.

Most of the browsers do not understand CDATA in <script>, so that
gives JavaScript syntax error. Putting // comments to prevent that is
also not possible, since libxslt always puts CDATA before them.
Putting //<xsl:comment> to wrap my own CDATA used to do the trick, but
it does not work anymore with PHP 5.2.5 - libxslt wraps the leading //
in CDATA as well.

I think it is the same issue as in "Preventing CDATA output in XHTML":

I read that thread, but couldn't find any real solution that would fit
me. Upgrading libxslt is not an option, since it is built-in into PHP.
Can you think of any solutions or workarounds?

I'm using "xml" output method and XHTML 1.0 Strict doctype. I also
have to stick to "text/html" content type since Google Maps API (for
which I'm producing JavaScript) does not work properly with

Martynas Jusevicius

Current Thread