我封装的一个XSLT类。
2006-05-08 10:55
274 查看
作品: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>
版本: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>
相关文章推荐
- 封装了一个用xslt样式将xml解析为xhtml的类TransformBinder(兼容FF和IE7.0)
- 一个简单的封装数据库类
- 分享一个延时加载的封装代码
- Ptypes一个开源轻量级的c++库,包括对一些I/O操作、网络通信、多线程和异常处理的封装
- 一个比较bt的xslt
- [置顶] 针对SpringBoot 封装的一个方便快捷的web 程序
- 验证码 生成 二三例(一般处理程序,封装一个类)
- 一个完美封装AFNetworking的网络请求Demo
- 一个封装了的选项卡效果js
- 定义一个JavaBean,把数据封装到bean里
- C#一个封装的加密解密类
- 封装一个类搞定90%安卓客户端与服务器端交互
- 把从数据库中查询出的一个字段封装到一个List中,返回List
- EF4 Model 代码生成EFPowerTools,Vs2015不支持,自己封装一个
- Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接
- 封装一个弹窗
- cocos2d-x封装一个转码的工具解决中文乱码可以直接拖过去用通用跨平台
- 关于轻量级数据库SQLite一个简单的SQLiteHelper访问数据库封装类
- 带大家一步一步的封装一个聊天键盘
- (分享面试题)封装一个函数,获取指定参数的值