XSL基础教程第三章-xml教程
转载自:互联网 作者:cd3c.com
您正在看的xml教程是:XSL基础教程第三章。
客户端XSL
如果浏览器支持XML,,就可以用XSL在浏览器中将文档转换成HTML。
一个JavaScript的解决方法
在前文中,我们解释了如何用XSL将一个文档从XML转换成HTML。窍门就是向XML文件中增加一个XSL样式表,然后让浏览器来进行转换。即使这种方法能奏效,在XML文件中包含一个样式表引用也并非令人满意的方法,并且在不支持XSL的浏览器上这种方法还不能奏效。
一个更通用的方法应该是用一个JavaScript来进行从XML到HTML的转换。使用一个JavaScript,就更有以下可能性:
允许JavaScript进行浏览器细节测试;
根据浏览器和用户需求使用不同的样式表。
这就是XSL的美妙之处。XSL设计目的之一就是使数据从一个格式转换成另一个格式成为可能,从而支持不同的浏览器和不同的用户需求。
客户端XSL转换将成为未来浏览器工作任务的一个主要部分,我们还将看到专业化浏览器市场的成长,比如Braille、 发声网络、网络打印机、手持PC、移动电话等。
XML文件和XSL文件
现在重新来看看前面章节中的XML文档:
.
.
.
还有附带的XSL样式表:
| Title | Artist |
|---|---|
要确保XML文件没有对XSL文件的引用,XSL文件也没有对XML文件的引用。注意:上面的句子说明一个XML文件可以用许多不同的XSL文件进行转换。
在浏览器中将XML转换到HTML
以下是在客户机上将XML文件转换成HTML所需要的源代码,很简单:
// 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))
如果使用的是Internet Explorer 5.0 或更高版本,请点击这里查看结果。
代码的第一块创建了Microsoft XML 解析器(XMLDOM)的一个例示,并将XML文档加载到内存中。代码的第二块创建解析器的另一个例示,并将XSL文档加载到内存中。代码的最后一行用XSL文档转换XML文档,将结果写入HTML 文档中。
服务器端XSL
由于不是所有的浏览器都支持XML和XSL,因此就有了一个在服务器上将XML转换成HTML的方法。
一个跨浏览器的解决方法
在前面的章节中,我们解释了如何用XSL在浏览器中将XML文档转换成HTML,窍门就是让JavaScript使用一个XML解析器来进行转换。但是当浏览器不支持XML解析器时,这种方法是不奏效的。要使XML数据对所有浏览器都可用,我们就必须在服务器上转换XML文档,并将它作为纯HTML发送到浏览器。
这是XSL的另一个美妙之处。XSL的设计目的之一是使得在服务器上
[1] [2] 下一篇
