XSLT transform in asp with Microsoft.XMLDOM

I recently had to transform an xml file into a scorm manifest file. I wanted it to be in UTF-8, but Microsoft.XMLDOM‘s transform method disregards the encoding setting in xsl:output. The transformNodeToObject method doesn’t. I also found out I had to use the save method on the output object instead of writing a file based on the xml property. You’ll find the function I ended up writing to assist me below:

<script language="javascript" runat="server">
function transformXmlFile(xmlfile, xslfile, outputfile){
    var xml = new ActiveXObject("Microsoft.XMLDOM");
    var xsl = new ActiveXObject("Microsoft.XMLDOM");
    var out = new ActiveXObject("Microsoft.XMLDOM");
    xml.async = false;
    xsl.async = false;
    out.async = false;
    xml.load(xmlfile);
    xsl.load(xslfile);
    xml.transformNodeToObject(xsl, out);
    out.save(outputfile);
    xml = null;
    xsl = null;
    out = null;
}
</script>

Comments are closed.