可扩展样式表语言格式化对象(Extensible Stylesheet Language Formatting Objects, XSL-FO)

显示适合印刷出版的文档

可扩展样式表语言格式化对象(Extensible Stylesheet Language Formatting Objects, XSL-FO)是一种用于表示的 XML 应用程序,任何用户代理都可以使用它严格按照开发者给定的规范呈现内容。通过本文了解 XSL-FO、XHTML、层叠样式表(Cascading Style Sheets, CSS)和 可扩展样式表语言转换(XSLT)之间的关系。

投稿者: W3C

2007 年 8 月 28 日

可扩展样式表语言格式化对象(Extensible Stylesheet Language Formatting Objects, XSL-FO)是一种用于表示的 XML 应用程序,任何用户代理都可以使用它严格按照开发者给定的规范呈现内容。通过本文了解 XSL-FO、XHTML、层叠样式表(Cascading Style Sheets, CSS)和 可扩展样式表语言转换(XSLT)之间的关系。

Extensible Stylesheet Language Formatting Objects (XSL-FO) [W3C 推荐标准] 是一种使用 XML 定义的表示语言。(注意:链接规范的标题是 “Extensible Stylesheet Language (XSL)”,但是其内容实际上只是 XSL 的格式化对象表示。)XSL-FO 是一种 XML 格式,可以被任何用户代理用于严格按照开发者给定的规范呈现内容。其角色与 XHTML 在 Web 用户界面中的角色类似,但是更为复杂,而且允许表示适合打印发布的格式化细节。这些细节与 Cascading Style Sheets (CSS) 中指定的并无二致,但是在 XSL-FO 中,细节构成了标记语言自身的实质,而不是呈现单独标记的指令。

XSL-FO 有时用作 Extensible Stylesheet Language Transformations (XSLT) 中的输出格式。实际上,原始的 XSLT 和 XSL-FO 本应该是一个单独的系统 XSL,但是工作组明智地将两部分分成了两个单独的规范。其命名有些让人疑惑,因此只要记住几乎所有人都使用 “XSL-FO” 作为 “Extensible Stylesheet Language (XSL)” 的简称就可以了。而另一方面,XSLT 与样式完全无关。各种开源的和商业的工具可以将 XSL-FO 转换成 TeX、Adobe 的 PDF 和其他适合打印和排版的(非 XML)输出格式。XSL-FO 已经流行,因为它具有很好的使用模式。但是其目标一直是为 WYSIWYG 之类工具提供原生呈现格式,而它正开始向这个应用方向发展。XSL-FO 1.1 [W3C 推荐标准] 是对添加如更改注释、索引、书签和图片处理增强等特性的语言的更新。

参考资料

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML
ArticleID=254320
SummaryTitle=可扩展样式表语言格式化对象(Extensible Stylesheet Language Formatting Objects, XSL-FO)
publish-date=08282007