I use MSXML from a C++ code. It transforms some XML and XSLT to XHTML. To do that I create an IXSLProcessor out of IXSLTemplate and then call its transform() method passing an empty IXMLDOMDocument object (I want an IXMLDOMDocument be populated with the output because I want to do some additional manipulation with its nodes).
That work fine if the XSLT has an <xsl:output method="xml" encoding="UTF-8"/> instruction.
The C++ code can be compiled in two versions - single byte encoding (windows-1252) and Unicode. For the single byte case the XSLT has <xsl:output method="xml" encoding="windows-1252"/>
If the XML or XSLT has a not ASCII (greater than 127) character, the transform() method fails. It either returns E_FAIL or the output document remains empty.
Is it possible to setup the output document to accept a specific single-byte encoding (windows-1252)?