I noticed an incompatibility between libxslt (php4) and the transformation through XSLTProcessor.
Php5 and the XSLTProcessor seem to add implicit CDATA-Section-Elements.
If you have an xslt like
<script type="text/javascript">
foo('<xsl:value-of select="bar" />');
</script>
It will result in
<script type="text/javascript"><![CDATA[
foo('xpath-result-of-bar');
]]></script>
(at least for output method="xml" in order to produce strict xhtml with xslt1)
That brings up an error (at least) in Firefox 1.5 as it is no valid javascript.
It should look like that:
<script type="text/javascript">//<![CDATA[
foo('xpath-result-of-bar');
]]></script>
As the CDATA-Section is implicit, I was not able to disable the output or to put a '//' before it.
I tried everything about xsl:text disable-output-escaping="yes"
I also tried to disable implicit adding of CDATA with <output cdata-section-elements="" />
(I thought that would exclude script-tags. It didn't).
The solution:
<xsl:text disable-output-escaping="yes"><script type="text/javascript">
foo('</xsl:text><xsl:value-of select="bar" /><xsl:text disable-output-escaping="yes">');
</script></xsl:text>
Simple, but it took me a while.