xslt类

 作品:Sank Orange's Xslt Class
 版本:1.0.0
 更新日期:2006-05-15
下载地址:http://cds.gameres.com/samples/SankOrange'sXslt_js.rar             

//---------  XsltClass.js  开始 -----------

function XsltClass(xmlName, xslName) {
 var processor;
 var isReady=false;
 
 this.output=output;
 this.setParam=setParam;
 this.setXsl=setXsl;
 this.setXml=setXml;
 this.loadXmlStr=loadXmlStr;

 var xmlDoc=new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");
 xmlDoc.async=false;
 var xslTemplate=new ActiveXObject("MSXML2.XSLTemplate.3.0");
 
 function loadXmlStr(str) {
  xmlDoc.loadXML(str);
 }
 
 function getProcessor(transformName){
  var xslDoc=new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");
  xslDoc.async=false;
  xslDoc.load(transformName);
  xslTemplate.stylesheet=xslDoc;
  xslProcessor=xslTemplate.createProcessor();
  return(xslProcessor);
 }
 
 function transformData(xmlDoc, processor, response){
  if(response) processor.output=response;
  processor.input=xmlDoc;
  processor.transform();
  return(processor.output);
 }
 
 function output(response) {
  result=null;
  if(isReady) {
   result=transformData(xmlDoc,processor,response);
  }
  return(result);
 }
 
 function setParam(param, value) {
  processor.addParameter(param, value);
 }
 
 function setXsl(aXslName) {
  processor=getProcessor(aXslName);
  isReady=true;
 }

 function setXml(aXmlName) {
  xmlDoc.load(aXmlName);
 }

 function init(aXmlName, aXslName){
  if(aXmlName!=undefined && aXslName!=undefined) {
   xmlDoc.load(aXmlName);
   processor=getProcessor(aXslName);
   isReady=true;
  }
 }
 
 init(xmlName, xslName);
}

 

//---------  XsltClass.js  结束 -----------

应用的例子:
<script language="javascript">
  xslt=new XsltClass();
  xslt.setXsl("test.xsl");
  xslt.loadXmlStr("test.xml");
  xslt.setParam("Param", paramValue);
  alter(xslt.output());
</script>

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值