This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Escaping an apostrophe for JavaScript
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Escaping an apostrophe for JavaScript
- From: Robert Koberg <rob at koberg dot com>
- Date: Sat, 24 Feb 2001 23:42:35 -0800
- References: <DF9ABD6D95375C4D9CEF308FF4A4833230F1@xavier.na.kabel-us.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
here you go:
<xsl:template name="fixquotes">
<xsl:param name="string"/>
<xsl:choose>
<xsl:when test="contains($string, "'")">
<xsl:value-of select="substring-before($string, "'")"/>
<xsl:text>\'</xsl:text>
<xsl:call-template name="fixquotes">
<xsl:with-param name="string"
select="substring-after($string, "'")"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
----- Original Message -----
From: "Frank T. O'Connor" <foconnor@kabel-us.com>
To: <xsl-list@lists.mulberrytech.com>
Sent: Saturday, February 24, 2001 6:44 PM
Subject: [xsl] Escaping an apostrophe for JavaScript
> Using MSXML3.
>
> Trying to write the following string:
> <img
> src="blah.gif"
> onMouseOver="window.status='Frank O\'Connor'; return true;"
> />
>
> The problem is my source XML doesn't have the apostrophe escaped for
> javascrpt. The source node simply has "O'Connor" in it.
> I can't seem to figure out any way of using translate or substring to
> convert the apostrophe to a backslash-apostrophe. There doesn't seem to
> be any way to locate the location of a substring within a string. Unless
> I loop it one character at a time.
>
> I was thinking perhaps I could make up a entity that is
> backslash-apostrophe, and then tell translate to replace apostrophe with
> this entity.
>
> But I'm not sure where to put this DTD information in my XSL file.
>
> I tried this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE xsl:stylesheet [
> <!ENTITY test "\'">
> ]>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
> ...
> </xsl:stylesheet>
>
> but I get this error:
> The element 'xsl:stylesheet' is used but not declared in the DTD/Schema
>
>
> any suggestion?
>
> Thanks,
> -frank
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list