P.Brian.Mackey
P.Brian.Mackey

Reputation: 44275

XSL - Escaping an apostrophe during xsl:when test

I have the following code which appears to be failing.

<xsl:when test="$trialSiteName = 'Physician&apos;s Office'">

Also, visual studio is complaining saying

"Expected end of expression, found 's"

How am I supposed to escape the character?


XSLT v1.0. Apache XSL-FO processor.

Upvotes: 8

Views: 10363

Answers (4)

Prageeth godage
Prageeth godage

Reputation: 4544

in between &quot; you can add what ever special characters you want.

<xsl:when test="$trialSiteName = &quot;Physician's what ever special charactors plainly add Office&quot;">

Upvotes: 1

Dimitre Novatchev
Dimitre Novatchev

Reputation: 243459

Much more simple -- use:

   <xsl:when test="$trialSiteName = &quot;Physician&apos;s Office&quot;">

Upvotes: 9

mzjn
mzjn

Reputation: 50947

  1. Declare a variable:

    <xsl:variable name="apos" select='"&apos;"'/>
    
  2. Use the variable like this in the <xsl:when> clause:

    <xsl:when test="$trialSiteName = concat('Physician', $apos, 's Office')">
    

Upvotes: 7

Phillip Kovalev
Phillip Kovalev

Reputation: 2487

&apos; works for XPath 1.0. If you are using XSLT 2.0 with XPath 2.0 try double apostrophe:

<xsl:when test="$trialSiteName = 'Physician''s Office'">

Look for a full explanation by Dimitre Novatchev in his answer Escape single quote in xslt concat function

Upvotes: 0

Related Questions