青苹果工作室编译,转自 ccidnet 网站
2001年03月16日
内容:
客户端XSL
服务器端XSL
XSL(eXtensible Style sheet Language),即可扩展样式表语言,是XML的亲密
伙伴。要学习好XML,不能不掌握XSL。本文就向你全面讲述XSL的一切一切:
客户端XSL:如何用XML解析器在客户机上将XML文档转换成HTML文档。
一个JavaScript的解决方法
在前文中,我们解释了如何用XSL将一个文档从XML转换成HTML。窍门就是向XML文
件中增加一个XSL样式表,然后让浏览器来进行转换。即使这种方法能奏效,在X
ML文件中包含一个样式表引用也并非令人满意的方法,并且在不支持XSL的浏览器
上这种方法还不能奏效。
一个更通用的方法应该是用一个JavaScript来进行从XML到HTML的转换。使用一个
JavaScript,就更有以下可能性:
允许JavaScript进行浏览器细节测试;
根据浏览器和用户需求使用不同的样式表。
这就是XSL的美妙之处。XSL设计目的之一就是使数据从一个格式转换成另一个格
式成为可能,从而支持不同的浏览器和不同的用户需求。
客户端XSL转换将成为未来浏览器工作任务的一个主要部分,我们还将看到专业化
浏览器市场的成长,比如Braille、 发声网络、网络打印机、手持PC、移动电话
等。
在浏览器中将XML转换到HTML
以下是在客户机上将XML文件转换成HTML所需要的源代码,很简单:
<html>
<body>
<script language="javascript">
// 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))
</script>
</body>
</html>
如果使用的是Internet Explorer 5.0 或更高版本,请点击这里查看结果。
代码的第一块创建了Microsoft XML 解析器(XMLDOM)的一个例示,并将XML文档加
载到内存中。代码的第二块创建解析器的另一个例示,并将XSL文档加载到内存中
。代码的最后一行用XSL文档转换XML文档,将结果写入HTML 文档中。
