xslt格式化输出xml文件的三种方法(转)

xslt格式化输出xml文件的三种方法

XSL由两部分组成:
一是转化XML文档;二是格式化XML文档。

如果你不理解这个意思,可以这样想:XSL是一种可以将XML转化成HTML的语言,一种可以过滤和选择XML数据的语言,一种能够格式化XML数据的语言。(比如用红色显示负数。)

这里不再讲XSL的语法结构,主要讲用XSLT格式化输出XML的三种方法:

第一:直接输出,需要XML和XSL两个文档,用户通过浏览器直接访问XML文档就可看到效果,但需要客户端浏览器支持XMLparser,所以这种方法限制性很大,这种方法的关键是在XML文件中要写入与XSL关联的行<?xml:stylesheet type="text/xsl" src="***.xsl">

第二:客户端控制:需要XML,XSL,HTML 三个文档,在html文档中用js来实现转换过程,用户访问的也是这个html文件,这样由客户端浏览器处理转换,但是这样做需要以下功能的支持:

a.允许Javascript代替浏览器进行细节检测;

b.根据不同的需要和不同的浏览器使用不同的样式表。

js例子如下:

script language="javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cd_catalog.xml")
// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cd_catalog.xsl")

// Transform
document.write(xml.transformNode(xsl))
</script>

解释:第一步,建立一个Microsoft Parser(XMLDOM)解析的对象,并将XML文档读入内存;第二步,建立另外一个对象并导入XSL文档;最后一步将XML文档用XSL文档转换,并将结果输出到HTML文件中。

第三:服务端控制.前两种方法都需要浏览器解析插件(XML parser)支持,所以只有服务端控制才能完全保证可以解析。服务端控制也需要三个文件:XML,XSL,ASP(或者其他类型的动态页),主要说ASP页怎么写,里面写一些服务端要执行的代码

<%
'Load the XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cd_catalog.xml"))

'Load the XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cd_catalog.xsl"))

Response.Write(xml.transformNode(xsl))
%>

---------------------------------------------------------------------------------------

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值