This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: comparison of strings having single quote
- From: Jeni Tennison <jeni at jenitennison dot com>
- To: Pemmaraju Phani Kumar <pkumar3 at baan dot com>
- Cc: "'XSL-List at lists dot mulberrytech dot com'" <XSL-List at lists dot mulberrytech dot com>
- Date: Fri, 1 Mar 2002 15:44:42 +0000
- Subject: Re: [xsl] comparison of strings having single quote
- Organization: Jeni Tennison Consulting Ltd
- References: <8987824ED22DD2118E3D00805F151928055D7422@ex-ind-hu1.baan.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi Phani,
> I have a further problem... how are we going to handle a case where
> my string has both double quotes and single quotes. I attach my
> previous mail for your reference. In that example if I have to check
> for -----S"RI's---- how do I do it. Can you plz let me know.
For that, you have to create the string through concatenation. At the
XPath level, you need something like:
ARTIST = concat('-----S"RI', "'", 's----')
At the XSLT level, you need to escape either the "s or 's, depending
on which you use to delimit the attribute. So you need either:
<xsl:if test="ARTIST =
concat('-----S"RI', "'", 's----')">
...
</xsl:if>
Or:
<xsl:if test='ARTIST =
concat('-----S"RI', "'", 's----')'>
...
</xsl:if>
Sometimes people declare a variable to hold apostrophes:
<xsl:variable name="apos" select='"'"'" />
and then use that within the concatenation to make it easier to read:
<xsl:if test="ARTIST =
concat('-----S"RI', $apos, 's----')">
...
</xsl:if>
----
Good news for XPath 2.0 -- apparently in XPath 2.0, you'll be able to
escape double quotes or apostrophes within a string by doubling them
up. So you will then be able to do:
ARTIST = '-----S"RI''s----'
or:
ARTIST = "-----S""RI's----"
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list