RE: [xsl] 0utput Escaping not behaving

Subject: RE: [xsl] 0utput Escaping not behaving
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 23 Feb 2008 09:28:24 -0000
> <a href="javascript:include('toc41837.htm?i=1','TOC');">
> 
> Notice the happy apostrophes. However, when I use a variable 
> $href containing a query string instead of @href. $href being 
> similar to:
> 
> /support?p=Compare&c=Compare/help/6.2/toc41837.htm
> 
> I get this:
> 
> <a
> href="javascript:include(&apos;/support?p=Compare&amp;c=Compar
> e/help/6.2/toc41837.htm?i=1&apos;,&apos;TOC&apos;);">

I theory &apos; and ' should be 100% equivalent, so either output is
correct. It wouldn't surprise me, however, to learn that within a javascript
"URI" a browser might treat them differently. Javascript URIs violate pretty
well every standard that's been written.

If this URI isn't equivalent to the one using a literal "'" then I would
advise taking it up with your product vendor. At least, that's what I would
recommend if the product vendor were anyone other than Microsoft.
> 
> I've tried to 'disable-output-escaping' in the xsl:text 
> elements but it doesn't make any difference. Can anyone say 
> what is going on?

disable-output-escaping won't make any difference - it is defined to have no
effect on attributes.

Michael Kay
http://www.saxonica.com/

Current Thread