源xml文档和那两个xslt样式表我没有提供哦,大家自己写写算了
<html>
<head>
<style type="text/css">
body {font-family:tahoma,verdana,arial,sans-serif; font-size:14px}
.head {font-family:tahoma,verdana,arial,sans-serif; font-size:18px; font-weight:bold}
</style>
<script language="jscript">
<!–
function transformfiles(strstylesheetname) {
// 获取显示转换结果数据层
var objresults = document.all[divresults];
// 创建两个对象
var objxml = new activexobject(msxml2.domdocument.3.0);
var objxsl = new activexobject(msxml2.domdocument.3.0);
// 设置两个属性
objxml.validateonparse = true;
objxsl.validateonparse = true;
// 加载xml文档并且检查错误
objxml.load(tables_data.xml);
if (objxml.parseerror.errorcode != 0) {
// 如果有错误九终止运行并且显示错误
objresults.innerhtml = showerror(objxml)
return false;
}
// 加载样式表并检查错误
objxsl.load(strstylesheetname);
if (objxsl.parseerror.errorcode != 0) {
// 如果有错误就显示错误并终止程序
objresults.innerhtml = showerror(objxsl)
return false;
}
// 如果没有错误,就执行转换
strresult = objxml.transformnode(objxsl);
// 在显示结果层显示转换结果
objresults.innerhtml = strresult;
return true;
}
function showerror(objdocument) {
// 创建错误消息
var strerror = new string;
strerror = invalid xml file !<br />
+ file url: + objdocument.parseerror.url + <br />
+ line no.: + objdocument.parseerror.line + <br />
+ character: + objdocument.parseerror.linepos + <br />
+ file position: + objdocument.parseerror.filepos + <br />
+ source text: + objdocument.parseerror.srctext + <br />
+ error code: + objdocument.parseerror.errorcode + <br />
+ description: + objdocument.parseerror.reason
return strerror;
}
//–>
</script>
</head>
<body onload="transformfiles(tables_list.xsl)">
<p><span class="head">利用客户端xslt样式表转换xml文档</span></p>
查看详细 <button onclick="transformfiles(tables_catalog.xsl)">目录</button>
或者 <button onclick="transformfiles(tables_list.xsl)">简单列表</button>
<hr />
<!– 这个层里插入xml和xslt的转换结果 –>
<div id="divresults"></div>
</body>
</html>