Re: [xsl] How to create a literal string attribute value that contains an apostrophe?

Subject: Re: [xsl] How to create a literal string attribute value that contains an apostrophe?
From: Marc <Marc.Liste@xxxxxxx>
Date: Mon, 09 Dec 2013 16:07:02 +0100
In this case I do something like :
<xsl:value-of>he's good</xsl:value-of>
that can be do with the <xsl:variable ou <xsl:attribute, if you want you can push it in a <xsl:text>


Marc

Le 09/12/2013 15:57, Costello, Roger L. a icrit :
Hi Folks,

I want to output a string.

This

<xsl:value-of select="'he is good'" />

outputs:

he is good

Now, suppose that I want to output:

he's good

This

<xsl:value-of select="'he&apos;s good'" />

produces an error. Apparently the entity is resolved to yield

<xsl:value-of select="'he's good'" />

and that is obviously an error.

So what's the solution?

Answer: escape the ampersand in the apostrophe entity reference:

<xsl:value-of select="'he&amp;apos;s good'" />

Now that doesn't seem reasonable. It means that there is double entity resolution occurring: the first to convert

&amp;apos;

to
	
	&apos;

and the second to convert

&apos;

to

'

Where is this double entity resolution occurring? The XML parser does the first entity resolution. What is doing the second entity resolution?

/Roger

Current Thread