Subject: [xsl] Problem using translate to escape quotes From: "Kevin Collins" <kcollins@xxxxxxx> Date: Wed, 4 Dec 2002 10:43:01 -0500 |
I have a string containing single quotes held in a variable. I want to escape each quote by inserting a backslash before it, but I can't get it to work. The translate function appears to be inserting the backslashes without the quotes. Here's a test version of the stylesheet: -------------------------------------------- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html"/> <xsl:variable name="mystr">this is Kevin's 'string'</xsl:variable> <xsl:variable name="backSlashQuote">\'</xsl:variable> <xsl:variable name="backSlash">\</xsl:variable> <xsl:variable name="singleQuote">'</xsl:variable> <xsl:variable name="backSlashQuote2"><xsl:value-of select="concat( $backSlash, $singleQuote )"/></xsl:variable> <xsl:variable name="mystr_escaped"> <xsl:value-of select="translate( $mystr, $singleQuote, $backSlashQuote )"/> </xsl:variable> <xsl:template match="/"> <html> <body> <xsl:value-of select="$mystr"/> <br/> <xsl:value-of select="$mystr_escaped"/> </body> </html> </xsl:template> </xsl:stylesheet> -------------------------------------------- Test source document (any one will do): -------------------------------------------- <?xml version="1.0" encoding="iso-8859-1"?> <mynode></mynode> -------------------------------------------- I get the same result regardless of whether I use $backSlashQuote or $backSlashQuote2 in the translate function. Here's the output I'm getting: -------------------------------------------- <html> <body>this is Kevin's 'string'<br>this is Kevin\s \string\</body> </html> -------------------------------------------- I'm using MSXML 4.0. Thanks for any help with this! Kevin Collins XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Passing params to XSLT fr, Michael Kay | Thread | Re: [xsl] Problem using translate t, Jeff Kenton |
RE: [xsl] filter, TSchutzerWeissmann | Date | [xsl] a*b, sum(c*d), sorted on <sor, Dan Diebolt |
Month |