Re: [xsl] Escaping an apostrophe for JavaScript

Subject: Re: [xsl] Escaping an apostrophe for JavaScript
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Sat, 24 Feb 2001 23:42:35 -0800
here you go:

<xsl:template name="fixquotes">
   <xsl:param name="string"/>
      <xsl:when test="contains($string, &quot;'&quot;)">
        <xsl:value-of select="substring-before($string, &quot;'&quot;)"/>
        <xsl:call-template name="fixquotes">
          <xsl:with-param name="string"
            select="substring-after($string, &quot;'&quot;)"/>
        <xsl:value-of select="$string"/>

----- Original Message ----- 
From: "Frank T. O'Connor" <foconnor@xxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
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 "\&apos;">
> ]>
> <xsl:stylesheet xmlns:xsl="";
> 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:

 XSL-List info and archive:

Current Thread