可扩展样式表语言格式化对象(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 推荐标准] 是对添加如更改注释、索引、书签和图片处理增强等特性的语言的更新。
- 您可以参阅本文在 developerWorks 全球网站上的 英文原文。
- Doug Tidwell 的教程 XSL 格式化对象(XSL-FO)基础知识(developerWorks,2003 年 5 月)是一个很好的学习起点。他的后一篇教程 XSL-FO 高级技术(developerWorks,2003 年 5 月)介绍了如何使用 XSL-FO 执行更复杂的任务,如格式化数据、创建复杂文档和转换 HTML 元素至格式化对象再转换至 PDF 文档。最后,他的文章 HTML 至格式化对象(FO)转换指南(developerWorks,2003 年 6 月)展示了如何使用 XSLT 模板将通常使用的 HTML 元素转换为格式化对象以便更轻松地转换为 PDF。
-
Rodolfo M. Raya 撰写的 使用 XSL-FO 创建可打印文档(developerWorks,2001 年 11 月)重点介绍了将 XSL-FO 用于可打印的数据库报告。
-
J. David Eisenberg 撰写的 Using XSL Formatting Objects(O'Reilly xml.com,2001 年 1 月)简要介绍了 XSL-FO 的国际化。
- ZVON 提供了一个 XSL FO
reference,其中制定了一些元素关系,但是没有对每个元素的语义做深入探讨。
- Dave Pawson 的 XSL FAQ 介绍了 XSL-FO、XSLT 和 XPath。
- 阅读其他 XML 标准:XML 标准索引。
- 参与任何面向 XML 的论坛: XML 专区讨论论坛。
- 加入 developerWorks 社区:developerWorks blogs。
- 查看 IBM XML
认证,了解如何成为 IBM 认证的 XML 及相关技术的开发人员。
-
XML 技术文档库,访问 developerWorks XML 专区,提供了大量技术文章、技巧、教程、标准和 IBM 红皮书。
-
developerWorks 技术事件和网络广播,随时关注技术最新进展。
- 使用 IBM 试用版软件构建您的下一个开发项目,可直接从 developerWorks 下载:IBM 试用版软件。