Re: [xsl] MSXML / NBSP problem and resolution

Subject: Re: [xsl] MSXML / NBSP problem and resolution
From: "Michael H. Semcheski" <mhs-list@xxxxxxxxx>
Date: Thu, 07 Nov 2002 12:17:18 -0500


The question then, is MSXML 3.0 broken because it adds the meta node into the result set if output method="html"?



No it is _mandated_ to add a meta element by the XSLT spec.
It has to place a meta element reflecting the encoding it actually used
rather than the encoding you request in xsl:output.


This makes sense so far...

If you call msxml so that it produces a dom or similar in memory
representation then it always uses utf16 and ignores the requested output
encoding. If you ask it to output to a file or string then it will use
the encoding you request if it is supported on your platform.


The way do a transformation in MSXML with ASP:


const XSL = "structure.xsl"
const XML = "data.xml"
Set xmldoc = Server.CreateObject("MSXML2.DOMDocument.3.0")
Set xsldoc = Server.CreateObject("MSXML2.DOMDocument.3.0")

xmldoc.Load Server.MapPath(XML)
xsldoc.Load Server.MapPath(XSL)

strOutput = xmldoc.transformNode(xsldoc)
response.write strOutput

So what you are saying makes sense except that the transformNode returns a string, not an XML document or node set, so the encoding should be what I requested and not encoding of the internal DOM.

i.e., I still don't understand why it is adding that meta tag into the output. (though there is a lot more light on the subject now.)

Mike


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



Current Thread