xsl-list
[Top] [All Lists]

RE: [xsl] Using translate() for single quotes in XSL1.0

2006-08-25 14:22:23
The translate() function does one-to-one replacement of characters. To do
anything else, use the replace() function in XSLT 2.0, or look at the FAQ
under "replace" to see how to do it under 1.0.

Michael Kay
http://www.saxonica.com/
 

-----Original Message-----
From: Oleg Konovalov [mailto:olegkon(_at_)gmail(_dot_)com] 
Sent: 25 August 2006 21:12
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Cc: ythakare(_at_)hotmail(_dot_)com
Subject: [xsl] Using translate() for single quotes in XSL1.0

Hi,

I am writing an XSL Transformer for SQL query and some of the 
column values ("ASSOCIATION_NAME")  in DB might have a single 
quote in the name, which poses a problem in SQL.

Example:

<xsl:text>  ...
(SELECT association_id
FROM ASSOCIATION
WHERE association_name='</xsl:text>
<xsl:value-of 
select='$row/sht:Cell[sht:Name="ASSOCIATION_NAME"]/sht:Content
'/><xsl:text>'
) )</xsl:text>...

like: "MACY'S"
So I tried to use to replace 1 single quote in the column values with
2 single quotes
which SQL should resolve using translate(value, "'", "''").
But there is such a mishmash of quotes and double quotes that 
it's impossible to resolve:
...
<xsl:value-of select='translate(
$row/sht:Cell[sht:Name="ASSOCIATION_NAME"]/sht:Content, '"", "'''")'/>

Any way around it, maybe via ASCII of single quotes ?


Thank you in advance,
Oleg.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--