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

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

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

【 tulaoshi.com - Web开发 】

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

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

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

ARTISTBob Dylan/ARTIST

COUNTRYUSA/COUNTRY

COMPANYColumbia/COMPANY

PRICE10.90/PRICE

YEAR1985/YEAR

/CD

下面是完整的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"))

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

'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文件中。

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

延伸阅读
标签: Web开发
服务器端的生成的页面数据,为了提高访问速度,往往需要生成静态的htm页面。 通常,可以使用fso生成静态的htm页。 但如果是fso被禁止或没有使用fso的权限,就需要其他的方法来解决. 利用xmldom,使用其save()方法就是一个很好的解决之道. 而且,如果数据是xml格式,使用save()比使用fso速度要快,代码的复用率也高。 ...
标签: Web开发
一. XSL入门 1.XSL---XML的 HTML网页使用预先确定的标识(tags),这就是说所有的标记都有明确的含义,例如p是另起一行h1是标题字体。所有的浏览器都知道如何解析和显示HTML网页。 然而,XML没有固定的标识,我们可以建立我们自己需要的标识,所以浏览器不能自动解析它们,例如table可以理解为表格,也可以理解为桌子。由于XML的可扩展性,使...
标签: PHP
怎么在PHP方式下得到服务器的有关信息?其实只需三句代码,即可以轻松获取到对端某个文件的相关信息及所属站点信息。代码如下: <? php $fp = fopen("http://www.***.com/***.htm","r"); //以只读的方式打开某个站点下的文件 foreach($http_response_header as $info) //对$http_resp...
标签: ASP
  首先在服务器端先创建一个程序可以生成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 folders="...
标签: 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...

经验教程

105

收藏

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