[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

special characters replaced in javascript url

Subject: special characters replaced in javascript url
From: "Mingqiang Yu" <myu@xxxxxxxx>
Date: Fri, 21 Oct 2005 22:58:41 -0600 (MDT)
javascript url params
I have a problem which was asked a while ago but I couldn't find the final
answer to that question. So I'm sorry that I have to raise this question
again.(http://lists.xml.org/archives/xml-dev/200310/msg00841.html)

I have a very similar problem in which, I have an xml record passed to my
stylesheet which contains the following string:
Cr&eacute;mieu, V.
So, in order for the stylesheet to handle this special characters
correctly, I need to defined it in my dtd file(document.dtd) like this:
<!ENTITY eacute  "&#233;" >
and include this dtd file in the xml file passed to the stylesheet:
<!DOCTYPE document  SYSTEM "document.dtd" >

Then, the special characters are displayed correctly but when I tried to
pass it as part of the url through javascript:
<a href="javascript:frLink('FRLink','author',&quot;{$thisTerm}&quot;);">
in which the $thisTerm is the string Cr&eacute;mieu, V., the same string
becomes "Cr%C3%A9mieu, V".

I tried to use the solution introduced in the link above by doing
escape-javascript like this:
<xsl:template name="escape-javascript">
    <xsl:param name="string" />
    <xsl:choose>
        <xsl:when test='contains($string, "&#233;")'>
            <xsl:call-template name="escape-javascript">
                <xsl:with-param name="string"
select='substring-before($string, "&#233;")' />
            </xsl:call-template>
            <xsl:text>&amp;eacute;</xsl:text>
            <xsl:call-template name="escape-javascript">
                <xsl:with-param name="string"
select='substring-after($string, "&#233;")' />
            </xsl:call-template>
        </xsl:when>
        <!-- test for other special characters or entities here -->
        <xsl:otherwise><xsl:value-of select="$string" /></xsl:otherwise>
    </xsl:choose>
</xsl:template>

It seems to work for this case. But I have too many special characters
that I cannot do the escape for every special characters.

Can you help to find a better solution to solve this problem?

Thanks in advance.

Ming

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.