日期:2012-03-08 浏览次数:20932 次
XSL即可扩展样式语言(eXtensible Styling Language),是一种用于转换XML数据的基于XML的语言。这种转换可以在XML的一种格式与另一种格式间进行,或者可以从XML转换到H T M L格式,也可以从XML转换到任意类型的文本输出。
XSL产生的原因之一是因为XML纯粹用于数据。我们已经说过XML标记只用于识别数据,不像H T M L标记那样可以用来指定数据格式。因此,需要使用某种方式来格式化XML以显示XML数据。
XSL由两部分构成,即转换语言和格式化语言,这里讨论的核心是转换部分。为什么这样说?这只是因为XSL现在还不是一种规范的标准,也就是说大多数浏览器对它的支持是不完全的。几个主要的浏览器基本上都不支持XSL的格式化部分,许多浏览器甚至连它的转换部分也不支持。
微软发布IE 5时,按照当时建立的标准加入了对XSL转换部分的支持。但自那以后由于标准一直在发展,微软决定不再更新其对XSL的支持,除非这种标准得到认可。这意味着IE 5并不支持XSL的格式化部分,但部分地支持其转换语言。
如果需要使用XSL的最新版本,可以使用符合最新标准的XSL解析器。W 3 C的网站( w w w . w 3 c . o r g )详细说明了XSL标准的现状,w w w . o a s i s - o p e n . o r g / c o v e r / XSL . h t m l站点也在追踪着这个标准的发展方向,并且还有一些关于XSL的软件和文章。
XSL样式表
XSL是根据一套与XML中的元素或属性相匹配的规则设计的。这些规则被称为模板,在一个模板内你可以循环访问元素和属性,并可以应用其他模板执行其他类型的处理。凡是不属于XSL处理指令的组成部分的文本都被输出,这就是通过匹配元素与输出文本和元素的值来转换XML的过程。
下面来考虑一下本章前面用过的由A D O生成的关于a u t h o r s的XML文件,这里介绍如何将这个XML文件转换成H T M L表。但我们并不打算详细讨论XSL,一是因为该主题太大,二是因为这也超出了本书的范围。我们只是想说明使用XSL能做些什么。XSL的一个功能是能将XML转换成H T M L。