This thread addressed the problem back in 2002. Has anyone come across a
better solution?
http://www.biglist.com/lists/xsl-list/archives/200211/msg00172.html
-----Original Message-----
From: Richard(_dot_)McMillian(_at_)cexp(_dot_)com
[mailto:Richard(_dot_)McMillian(_at_)cexp(_dot_)com]
Sent: Tuesday, April 13, 2004 11:44 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Cc: jcouture(_at_)tigerpawsoftware(_dot_)com
Subject: RE: [xsl] Problem with rendering of  
Thanks for info Tom, however with the change you suggested for the XSL, the
resulting HTML output still has this:
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
The charset=UTF-16 is not the issue. It is the content="text/html that
causes the
mal-rendering. Is there an option to give the microsoft parser not to
default
to this content value?
function GenOrder(xmlstr, xslfile)
dim xml, xsl, xslFileName, htmlDoc, tstr
set xml = Server.CreateObject("MSXML2.FreeThreadedDOMDocument.3.0")
xml.async = FALSE
xml.validateOnParse = FALSE
xml.resolveExternals = FALSE
xml.preserveWhiteSpace = False
WriteToLog ("GenOrder xmlstr = " & xmlstr)
WriteToLog ("GenOrder xslfile = " & xslfile)
if xml.LoadXML(xmlstr) then
set xsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument.3.0")
xsl.async = false
xslFileName = Server.MapPath(xslfile)
xsl.load(xslFileName)
if xsl.parseError.errorCode <> 0 then
tstr = "<pre>XML Doc XSL Error" & vbCRLF _
& "Reason: " & xsl.parseError.reason & vbCRLF _
& "Line: " & xsl.parseError.line & vbCRLF _
& "Src: " & xsl.parseError.srcText & vbCRLF _
& "</pre>"
else
tstr = xml.transformNode(xsl)
end if
end if
set xsl = nothing
set xml = nothing
GenOrder = tstr
end function
-----Original Message-----
From: Passin, Tom [mailto:tpassin(_at_)mitretek(_dot_)org]
Sent: Tuesday, April 13, 2004 3:53 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com;
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Cc: jcouture(_at_)tigerpawsoftware(_dot_)com
Subject: RE: [xsl] Problem with rendering of  
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
--+------------------------------------------------------------------
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>
--+--
--+------------------------------------------------------------------
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>
--+--