8.1 XSL概述
XSL(Extensible Stylesheet Language,即可扩展样式单语言),是由W3C专门为XML所制定的,主要用于将一份XML文档转换为另一份结构化文档(通常是HTML文档,其实也可以是XML文档)。
XSL由3大部分组成:
XSLT:描述如何对一个XML文档进行转换。这部分称为XSL Transformation(XSLT),用于将一份XML文档转换成另一份可浏览或可输出的文档,并可控制转换后的显示外观。
XPath:XSL使用XPath来识别、选择和匹配XML文档中的各种组成部分,包括元素、属性和文本内容等。
XSL-FO(Formatted Object):在使用XSLT完成文档转换之后,XSL还可以使用XSL-FO解释结果树、格式化转换得到的文档。XSL-FO的一个主要应用就是将XML文档转换为PDF文档。
与CSS相比,XSL本身也是一份XML文档,它也是使用XML语法定义的,属于XML的一种具体应用。CSS只是为控制HTML显示所设计,因此简单易用;而XSL则是采用XML语法定义的,比CSS复杂得多,功能也强大得多。除此之外,XSL和CSS还有如下两点差异:
处理方式不同:XSL采用的是一种转换的思想,它将一种不含显示信息的XML文档转换为另一种文档,这份文档既可暂存于内存中以供显示,也可保存为一个新的文档。CSS则没有任何转换动作,只是针对结构文档中的各个成分,定义相应的显示样式,再由浏览器依据这些样式显示文档,在整个过程中不会产生新的文档。
功能有差异:CSS主要是针对HTML所设计的,因此主要用于定义文档各部分的显示样式。而XSL则专门为XML所设计,因此可以获得对XML文档的全部控制权,可以将XML文档整体转换为另一份文档。