<html>
    <body>
		<script type="text/javascript">
		var __nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);

		if (__nonMSDOMBrowser) {  //for non-IE browsers, e.g., mozilla, netscape.
	                var processor = new XSLTProcessor();
        	        var xslt = document.implementation.createDocument("", "", null);
                	xslt.async = false;
	                xslt.load("./xslt/myxsltdoc.xslt");
        	        processor.importStylesheet(xslt);

	                var src_doc = document.implementation.createDocument("","", null);
        	        src_doc.async = false;
                	src_doc.load("myxmldoc.xml");
	                var result = processor.transformToDocument(src_doc);
        	        var xmls = new XMLSerializer();
                	var output = xmls.serializeToString(result);
	                document.write(output);
		}
		else {
			var advanced= false;

			if (!advanced) {
		                    // Load XML 
		                    var xml = new ActiveXObject("Microsoft.XMLDOM");
                		    xml.async = false;
		                    xml.load("myxmldoc.xml");
                		    // Load XSL
		                    var xsl = new ActiveXObject("Microsoft.XMLDOM");
                		    xsl.async = false;
		                    xsl.load("./xslt/myxsltdoc.xslt");
                		    // Transform 
		                    document.write(xml.transformNode(xsl)) 
			}
			else {
			        // Load your XSL
			        var objXSLT = new ActiveXObject("MSXML2.FreeThreadedDomDocument");
			        objXSLT.async = false;
			        objXSLT.load("./xslt/myxsltdoc.xslt");

			        // create a compiled XSL-object
			        var objCompiled = new ActiveXObject("MSXML2.XSLTemplate");
			        objCompiled.stylesheet = objXSLT.documentElement;
        				
			        // create XSL-processor
			        var objXSLProc = objCompiled.createProcessor();

			        // Load your XML
			        var objXML = new ActiveXObject("MSXML2.FreeThreadedDomDocument");
			        objXML.async = false;
			        objXML.load("myxmldoc.xml");

			        // input for XSL-processor
			        objXSLProc.input = objXML
			        objXSLProc.addParameter("NameOfYourParameter1", "ValueOfYourParameter1");
			        objXSLProc.addParameter("NameOfYourParameter2", "ValueOfYourParameter2");
			        // etc.

			        // transform
			        objXSLProc.transform();

			        // display
			        document.write(objXSLProc.output);
	                }
		}
		</script>
	</body>
</html>