Subject: RE: Troubles with libxslt in PHP again: CDATA in <script>
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 11 Oct 2007 14:23:22 +0100
|
I seem to recall responding to your previous post pointing out that you were
writing a DOM as your output and that you were therefore not invoking the
XSLT serializer. That would seem to account for all your troubles.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Martynas Jusevicius [mailto:martynas.jusevicius@xxxxxxxxx]
> Sent: 11 October 2007 13:01
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Troubles with libxslt in PHP again: CDATA in <script>
>
> 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":
> http://www.biglist.com/lists/xsl-list/archives/200707/msg00060.html
>
> 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 "application/xhtml+xml".
>
>
> Martynas Jusevicius
> www.xml.lt
|