Frank: XSL, JavaScript, Sonderzeichen (Anführungszeichen)

Beitrag lesen

Hallo Zusammen,

ich habe hier ein kleinen Problem mit XSL, JavaScript und Sonderzeichen (Anführungszeichen).

Im XML habe ich ein Tag, der folgenden Inhalt haben kann:

<item>Ein "Forum" ist eine 'tolle' Sache</item>

...es kann also einfache und doppelte Anführungszeichen enthalten.

Nun will ich mittels XSL eine HTML-Datei erzeugen, die auch JavaScript enthält. In dem JavaScript soll ein String zusammengebaut werden, der den Inhalt des item-Tags enthält, vereinfacht etwa so:

<xsl:stylesheet...

<script language="JavaScript" type="text/javascript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
...
s = "]]></xsl:text><xsl:value-of select="item" /><xsl:text disable-output-escaping="yes"><![CDATA[";
...
 ]]>
</xsl:text>
</script>

</xsl:stylesheet>

(Die eigentlichen JavaScript-Fragmente im XSL sind CDATA-geschützt.)

Nun gibt es aber Probleme wegen den Anführungszeichen, da das JavaScript im erzeugten HTML etwa so aussieht

s = "Ein "Forum" ist eine 'tolle' Sache";

Die Anzührungszeichen müssten irgendwie mit einem \ maskiert werden, aber wie kann ich das in diesem Fall machen?
So wie ich das sehe, funktioniert eine replace-Funktion im JavaScript ja auch nicht, es müsste also irgendwie mit XSL gehen, bloß wie? Ich sitz da jetzt schon ewig dran, bekomme es aber nicht hin! oder steh ich da irgendwie auf dem Schlauch?

Wäre klasse, wenn da jemand was wüsste!

danke schon mal!

mfg
Frank