XSL简明教程(4)在服务器端的实现

2016-02-19 18:36 5 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享XSL简明教程(4)在服务器端的实现的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

四: XSL --- 在服务器端的实现

1.兼容所有的浏览器

在上面一章我们介绍了可以通过JavaScript调用浏览器的XML parser(解析软件)来转换XML文档。但是这个方案依然有个问题:如果浏览器没有XML
parser插件怎么办?(注:IE5内自带XML parser)

为了使我们的XML数据能被所有的浏览器正确显示,我们不得不在服务器端将XML转换成纯HTML代码,再输出给浏览器。

这也是使用XSL的另一个好处。在服务器端将一种格式转换为另一种格式也是XSL的设计目标之一。

同样,转换工作也将成为未来服务器段的主要工作。

2.一个具体实例

下面是我们上面提到的一个XML文档(cd_catalog.xml)例子的部分代码:

?xml version="1.0" encoding="ISO8859-1" ?

CATALOG

CD

TITLEEmpire Burlesque/TITLE

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

ARTISTBob Dylan/ARTIST

COUNTRYUSA/COUNTRY

COMPANYColumbia/COMPANY

PRICE10.90/PRICE

YEAR1985/YEAR

/CD

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

下面是完整的XSL文件(cd_catalog.xsl):

?xml version='1.0'?

xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"

xsl:template match="/"

html

body

table border="2" bgcolor="yellow"

tr

thTitle/th

thArtist/th

/tr

xsl:for-each select="CATALOG/CD"

tr

tdxsl:value-of select="TITLE"//td

tdxsl:value-of select="ARTIST"//td

/tr

/xsl:for-each

/table

/body

/html

/xsl:template

/xsl:stylesheet

下面是在服务器端转换XML文件为HTML文件的原代码:

%

'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))

%

注意:我们这里的例子采用的是ASP文件,用VBScript编写的。如果您不了解ASP或者VBScript,建议阅读有关书籍。(当然,也可以采用其他的语言编写服务器端程序)

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

来源:http://www.tulaoshi.com/n/20160219/1618278.html

延伸阅读
标签: Web开发
服务器端的生成的页面数据,为了提高访问速度,往往需要生成静态的htm页面。 通常,可以使用fso生成静态的htm页。 但如果是fso被禁止或没有使用fso的权限,就需要其他的方法来解决. 利用xmldom,使用其save()方法就是一个很好的解决之道. 而且,如果数据是xml格式,使用save()比使用fso速度要快,代码的复用率也高。 ...
标签: Java JAVA基础
一、概述 编写安全的Internet应用并不是一件轻而易举的事情:只要看看各个专业公告板就可以找到连续不断的安全漏洞报告。你如何保证自己的Internet应用不象其他人的应用那样满是漏洞?你如何保证自己的名字不会出现在令人难堪的重大安全事故报道中? 如果你使用Java Servlet、JavaServer Pages(JSP)或者EJB,许...
标签: PHP
怎么在PHP方式下得到服务器的有关信息?其实只需三句代码,即可以轻松获取到对端某个文件的相关信息及所属站点信息。代码如下: <? php $fp = fopen("http://www.***.com/***.htm","r"); //以只读的方式打开某个站点下的文件 foreach($http_response_header as $info) //对$http_resp...
标签: Web开发
六. XSL的过滤和查询 如果我们希望只显示满足一定的条件的XML数据应该怎么做呢?还是上面的例子代码,我们只需要在xsl:for-each元素的select属性中加入参数就可以,类似: xsl:for-each select="CATALOG/CD[ARTIST='Bob Dylan']" 参数的逻辑选择有: = (等于) =! (不等于) &LT& 小于 &GT& 大于等于 和前面...
标签: Web开发
首先在服务器端先创建一个程序可以生成XML文件,以返回客户端,(getfolder.asp) % 'written by Linzhang Chen ,2003-4-20 ' 转载请注明出处和保留此版权信息 response.write "?xml version=""1.0"" encoding=""GB2312""?"&chr(13) response.write "mediafile"&chr(13) folders=request("folder") if fo...

经验教程

187

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部