现在的位置: 首页 >> 网站编程 >> XML >> XSL简明教程(4)在服务器端的实现
添加时间:2005-10-30 来源:网教中国 作者:
XSL简明教程(4)在服务器端的实现

原著:Jan Egil Refsnes 翻译:阿捷

四: 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>

<TITLE>Empire Burlesque</TITLE>

<ARTIST>Bob Dylan</ARTIST>

<COUNTRY>USA</COUNTRY>

<COMPANY>Columbia</COMPANY>

<PRICE>10.90</PRICE>

<YEAR>1985</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>

<th>Title</th>

<th>Artist</th>

</tr>

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

<tr>

<td><xsl:value-of select="TITLE"/></td>

<td><xsl: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文件中。


上一篇:XSL简明教程(5)XSL的索引 下一篇:XML入门的常见问题(二)
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·XML Schema帮你建模(3)
·UDDI(通用发现与发布规范)简介
·亲密接触XML(7)-我的属性规则
·关于 XML 的十种观点
·XML 中的常见问题 (一)
·XML轻松学习手册(7)XML相关资
·使用XSLT将XML数据转换成HTML
·用XML和JSP来创建动态站点
·在模板中指定XSL样式表
·根据查询结果,生成XML文件
相关文章
 
最新文章
·在 .NET Framework 中表示 XML
·浅析.NET下XML数据访问新机制
·XML Schema帮你建模(4)
·XML Schema帮你建模(3)
·XML Schema帮你建模(2)
·XML Schema帮你建模(1)
·微软Office2003十月发售 XML技术
·在.NET Framework中轻松处理XML(
·在.NET Framework中轻松处理XML(
·在.NET Framework中轻松处理XML(
Google