### XSL 概述

XSL(eXtensible Stylesheet Language,可扩展样式语言)是为 XML 文件定义的一种标识语言，它将提供远远超过 CSS 的强大功能，如将元素再排序等。实际上简单的 XML 已可被 CSS 所解释，然而复杂的高度结构化的 XML 数据或 XML 文档则只能依赖于 XSL 极强的格式化的能力而现给用户。

XSL 以包含了一套元素集的 XML 语法规范而定义，该语法规范将被用来把 XML 文件转换成 HTML 文件或 XML 文档。一个 XSL 样式表集合了一系列设计规则以用于将信息从 XML 文件中汲取出，并将其转换成 HTML 等其它格式。这种转换将采用一种公开的方式，使其更加容易方便地被程序员描述。而且 XSL 还将提供多种脚本语言的通道以满足更为复杂的应用需求，因此尽管 XSL 是一项新的标识语言，但程序员完全可以继续充分发挥其所熟练的 HTML 或脚本语言的优势。XSL 凭借其可扩展性能够控制无穷无尽的标签,而控制每个标签的方式也是无穷尽的。这就给 Web 提供了高级的布局特性。例如旋转的文本、多列和独立区域。它支持国际书写格式,可以在一页上混合使用从左至右、从右至左和从上至下的书写格式。
XSL 能使 Web 浏览器直接根据用户的不同需求改变文档的表示法,例如数据的显示顺序改变,从而不需要再与服务器进行交互通信。通过变换样式表,同一个文档可以显示得更大，或者经过叠折只显示外面的一层,或者变为打印格式。可以设想一个适合用户学习特点的技术手册，它为初学者和更高一级的用户提供不同的样式,而所有的样式都是根据同样的文本产生的。
正如 XML 介于 HTML 和 SGML 之间一样，XSL 标准介于 CSS 和 SGML 的 DSSSL(Document Style Semanticsand Specification Language,文档样式语义和规范语言)之间。DSSSL 定义格式化对象的全特征模式。由于 DSSSL 使用框架语法,而且是很复杂的,所以 DSSSL 未能得到推广应用。XSL 支持 DSSSL 流对象和 CSS 对象,并对复杂的任务提供进入脚本语言的通道,而且允许扩展。实现从 CSS 到 XSL 的映射是可能的,因而内容开发商无需学习这种语言的全部。
作为一种技术预展,微软最近发布了两种 XSL 处理器:一个是可以从 XML 文档和 XSL 样式层产生 HTML 输出的命令行应用程序,另一个是一种 ActiveX 控件，用于在浏览器中显示 XML。微软的这种 XSL 处理器适合在 Windows95 和 WindowsNT 环境下通过 InternetExplorer4.0 浏览器使用。
IBM 公司及其 Lotus 子公司日前发布了 XSL 的原型，这是一个能将 XML 格式转换成 HTML 或其它 Web 格式的转换引擎，现在已可在 WWW.alphaworks.ibm.com 免费下载。这个转换引擎称为 LotusXSL，基于 WWW 联合会最新的 XSL 工作草案完成的。除了能将 XML 文档转换成 HTML 外，XSL 还能将 XML 转换为 PGML（Precision Graphics Markup Language 精确图形描述语言）。如果电子商务中用 XML 表示产品数据，用户可以使用 XSL 定义网站中数据的格式以及信息图形显示方式等。LotusXSL 打包成一个 JavaBean。用户可用 LotusXSL 创建样单，定义转换方式，就可将文档转换为相应的格式，供浏览器显示。