xsl-list
[Top] [All Lists]

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

2013-12-09 08:57:44
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  



--~------------------------------------------------------------------
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>
--~--