xsl-list
[Top] [All Lists]

RE: Problem with rendering of &#160

2004-04-13 13:53:02
From: Richard(_dot_)McMillian(_at_)cexp(_dot_)com 
[mailto:Richard(_dot_)McMillian(_at_)cexp(_dot_)com]
 
I have a problem with non-breaking space being rendered as a "?" question
mark by the IE webbrowser.
I looked at the output html and the hex character is A0 as is is supposed to
be; however the XSL automatically inputs
<META http-equiv="Content-Type" content="text/html; charset=UTF-16"> after
the header.   Changing the Content
value to iso-8859-1 results in the correct rendering of the A0.  Where does
the XSL derive this META tag
value from?  I've included an XML sample and the XSL code below.


-- Getting utf-16 by default has nothing to do with xslt - it is a 
characteristic of the Microsoft xml/xslt processor, depending on how it is 
used.  Getting the display you do is a tipoff that your browser does not 
support that character in its own default encoding.  IE (in the US, anyway) is 
generally expecting iso-8859-1,  so you get the nonbreaking space rendering as 
intended when you use that encoding.

However, you have an error in the stylesheet.  You used a wrong encoding value 
in the xsl:output element.  You should write

<xsl:output method="html" encoding="iso-8859-1"/>

An encoding of "text" is not a recognized character encoding, and I am 
surprised you did not get an error from the processor.  Also, with the html 
output method, you don't need to omit the xml declaration - since the output is 
gong to be html and not xml, the xml declaration will not be inserted anyway.

Cheers,

Tom P



<Prev in Thread] Current Thread [Next in Thread>