利用客户端XSLT样式表转换xml文档

发表于:2007-06-30来源:作者:点击数: 标签:
源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}
源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>
查看详细 &nbsp; <button onclick="transformFiles(@#tables_catalog.xsl@#)">目录</button>
&nbsp; 或者 &nbsp; <button onclick="transformFiles(@#tables_list.xsl@#)">简单列表</button>
<hr />

<!-- 这个层里插入xml和xslt的转换结果 -->
<div id="divResults"></div>

</body>
</html>


原文转自:http://www.ltesting.net