解决方法:打开新窗口的 html 应该这样写:
<html><head></head>
<body>
<xml id=defxsl src="defaultss.xsl"></xml>
<xml id=xml src="a.xml"></xml>
<xml id=xsl src="a.xsl"></xml>
<script>
function transString(docString,sheetString){
var xd=new ActiveXObject("msxml2.domdocument");
var xs=new ActiveXObject("msxml2.domdocument");
try{
xd.loadXML(docString);
xs.loadXML(sheetString);
return xd.transformNode(xs);
}
catch(err){return err.description};
}
function openWin() {
doc = window.open().document;
axml = transString(xml.xml, xsl.xml);
doc.write(transString(axml, defxsl.xml));
doc.close();
}
</script>
<button onclick="openWin();">Open</button>
</body></html>
这里做了两次 xsl 转换。
第一次:把您的 xml 用 a.xsl 转换成另外一个 xml。
第二次:用 defaultss.xsl 格式化 xml。
defaultss.xsl 贴在下面的一贴里。