Re: [xsl] How to disable output escaping inside attribute values

Subject: Re: [xsl] How to disable output escaping inside attribute values
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 10 Apr 2002 10:52:20 +0100
Hi Maros,

> is there any possibility to disable output escaping inside attribute
> values?

Not without creating the entire start tag (and end tag) by disabling
output escaping.

> I would love to output some hard spaces (and maybe some other escape
> characters) in dynamic output.
>
> Fragment of my generated XML is:
> <Location>
>         <Company_name>My&amp;nbsp;&amp;nbsp;Company</Company_name>
> </Location>

You should fix your generated XML so that the non-breaking spaces are
specified through the non-breaking space character (#160) rather than
through the characters '&', 'n', 'b', 's', 'p', ';'. You could use
non-breaking space characters natively, or as character references:

<Location>
  <Company_name>My&#160;&#160;Company</Company_name>
</Location>

or you could use the entity &nbsp; in your generated XML, as long as
you declared it:

<!DOCTYPE Location [
<!ENTITY nbsp '&#160;'>
]>
<Location>
  <Company_name>My&nbsp;&nbsp;Company</Company_name>
</Location>

Whichever way you do it, the XSLT processor will see non-breaking
spaces. When you do:

  <INPUT type="text" value="{/Location/Company_name}"/>

the XSLT processor will create a value attribute including the
non-breaking space characters. When it serializes this value attribute
as HTML, it will (probably) substitute the non-breaking space
characters with the HTML entity &nbsp;, and you'll get:

  <INPUT type="text" value="My&nbsp;&nbsp;Company" />

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread