[xsl] Escaping single-quotes - an old chestnut I suspect but won't respond to any amount of Googling...

Subject: [xsl] Escaping single-quotes - an old chestnut I suspect but won't respond to any amount of Googling...
From: Matt Poff <matt.poff@xxxxxxxxxxxxxxx>
Date: Thu, 05 Apr 2007 16:13:27 +1200
Hi,

I have an XSLT file which is generating a number of SQL statements from an XHTML file (output method is set to "text"). I need to escape apostrophe and quote characters in text nodes and have tried using the code below:

<xsl:function name="hf:escapechars" >
<xsl:param name="currnode" />
<xsl:variable name="apos" select='"&apos;"' />
<xsl:variable name="quot" select="'&quot;'" />
<xsl:variable name="backslash">\</xsl:variable>
<xsl:value-of select="replace($currnode,'$apos','concat($backslash,$apos))"/>
</xsl:function>


This generates "Description: E Invalid replacement string in replace(): \ character must be followed by \ or $". How can i successfully escape the backslash so it will output?

Thanks for you help,
Matt

Current Thread