Re: [xsl] using xsl:output-character to render characters in 2 ways

Subject: Re: [xsl] using xsl:output-character to render characters in 2 ways
From: Tom T <tomw289@xxxxxxxxxxxxxx>
Date: Thu, 12 Nov 2009 12:51:12 +0000
I care because in some situations (such as attribute values) I need
the quote to be escaped but in other situations (eg in a JS function)
I do not, the JS does not work in an HTML doc if it is escaped.


On Thu, Nov 12, 2009 at 12:47 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
>
> (a) character maps apply to all characters in the result tree, regardless
> whether they originated in the source document or the stylesheet.
>
> (b) there's something fishy about your requirements that make one wants to
> probe deeper. If you care whether or not numeric character references are
> used in the result document, then you're not using XML the way it was
> designed to be used.
>
> Regards,
>
> Michael Kay
> http://www.saxonica.com/
> http://twitter.com/michaelhkay
>
>> -----Original Message-----
>> From: Tom T [mailto:tomw289@xxxxxxxxxxxxxx]
>> Sent: 12 November 2009 12:16
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> Subject: [xsl] using xsl:output-character to render
>> characters in 2 ways
>>
>> I wish to process single quotes in the following way:
>>
>> - when it is retreived from the source XML it should be
>> escaped to &#39;
>>
>> - when it is embedded within the XSLT stylesheet it should
>> not be escaped and rendered as a '.
>>
>> To acheive this I have set up the following output-characters
>> in a character map:
>>
>> <xsl:output-character character="&#39;" string="&#38;#39;" />
>> <xsl:output-character character="&single-quote;" string="&#39;" />
>>
>> This works but it means I have to use the &single-quote;
>> entity every time I want to use a single quote in the xslt
>> (eg for javascript.)
>>
>> Is there a better way to do this in XSLT 2?
>>
>> Thanks

Current Thread