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

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

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

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

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

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

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

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

js例子如下:

scriptlanguage="javascript">
//LoadXML
varxml=newActiveXObject("Microsoft.XMLDOM")
xml.async=false
xml.load("cd_catalog.xml")
//LoadtheXSL
varxsl=newActiveXObject("Microsoft.XMLDOM")
xsl.async=false
xsl.load("cd_catalog.xsl")

//Transform
document.write(xml.transformNode(xsl))

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

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

<%
'LoadtheXML
setxml=Server.CreateObject("Microsoft.XMLDOM")
xml.async=false
xml.load(Server.MapPath("cd_catalog.xml"))

'LoadtheXSL
setxsl=Server.CreateObject("Microsoft.XMLDOM")
xsl.async=false
xsl.load(Server.MapPath("cd_catalog.xsl"))

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

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

接下来说说XSL文件的关键语法

第一:文件头

第二:正文..

第三:正文..匹配XML文档中哪个节点

第四:输出格式,table等html标签表示要输出元素的值

第五:表示一个循环

第六:条件控制语句

第七:选择控制语句





...somecode...





...somecode....



第八:排序

第九:过滤查询

参数的逻辑选择有:

=(等于)

=!(不等于)

<&小于

>&大于等于

你可能感兴趣的:(xslt格式化输出xml文件的三种方法)