This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: comparison of strings having single quote


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&quot;RI', &quot;'&quot;, 's----')">
    ...
  </xsl:if>

Or:

  <xsl:if test='ARTIST =
                concat(&apos;-----S"RI&apos;, "&apos;", &apos;s----&apos;)'>
    ...
  </xsl:if>

Sometimes people declare a variable to hold apostrophes:

<xsl:variable name="apos" select='"&apos;"'" />

and then use that within the concatenation to make it easier to read:

  <xsl:if test="ARTIST =
                concat('-----S&quot;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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]