可扩展样式表语言转换(Extensible Stylesheet Language Transformations,XSLT)

将 XML 文档转换为其他类型格式

可扩展样式表语言转换(Extensible Stylesheet Language Transformations,XSLT)允许您描述将输入 XML 文档转换为输出树(例如 XML、HTML 或文本)。它可用于复杂的 XML 文档表示,或者用于转换不同的 XML 格式。通过本文进一步了解这种成功的语言,并探究它以及 EXSLT 可为您提供哪些功能。

投稿者: W3C

2007 年 8 月 28 日

可扩展样式表语言转换(Extensible Stylesheet Language Transformations,XSLT)允许您描述将输入 XML 文档转换为输出树(例如 XML、HTML 或文本)。它可用于复杂的 XML 文档表示,或者用于转换不同的 XML 格式。通过本文进一步了解这种成功的语言,并探究它以及 EXSLT 可为您提供哪些功能。

Extensible Stylesheet Language Transformations (XSLT) Version 1.0 [W3C 推荐标准] 语言可用来描述将输入 XML 文档转换为输出树。输出树可以有多种形式,例如 HTML 文档或者另一种 XML 格式,因此,XSLT 语言可将 XML 呈现为遗留浏览器显示格式,或者在 XML 文件中执行脚本编制操作。转换本身被定义为使用特殊词汇表的 XML 文档。XML Path Language (XPath) 用于访问源文档和进行一般的表达式处理,建立处理规则(XSLT 是一种声明式语言)和创建输出树都需要使用特殊的指令。

XSLT 1.0 是一种非常成功的语言,它涵盖了多数常见 XML 处理任务。如果您对 XML 比较熟悉的话,那么就很容易掌握 XSLT 的基本知识,但是要精通这种语言就需要费一些功夫。这种语言具有一种经过良好设计的可扩展机制,并且其声明式处理模型支持可维护和可重用代码。Associating Style Sheets with XML documents Version 1.0 [W3C 推荐标准] 中定义了将 XML 文档链接到其 XSLT 样式表文档的标准方法。XSLT 规范被广泛 翻译 为多种语言。

EXSLT 和 XSLT 2.0

上文提到,XSLT 有一种非常不错的扩展机制,利用这种机制,您可以使用所选择的语言定义额外的功能。但是更棒的是,您甚至不需要自己编写扩展,因为有人已经为您做了这项工作。EXSLT [社区规范] 是一组使用与实现无关的方式定义的标准扩展。EXSLT 试图涵盖所有最常用的扩展,例如日期处理、正则表达式和数学操作。很多 XSLT 实现都实现了一个或多个 EXSLT 模块。

XSLT Version 2.0 在集中 XSLT 1.0 使用体验的基础上提供了一些关键改善,但是它与 XPath 2.0 的联系更加紧密,而后者还存在一些争议。

参考资料

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML
ArticleID=254321
SummaryTitle=可扩展样式表语言转换(Extensible Stylesheet Language Transformations,XSLT)
publish-date=08282007