xsl-fo_使用XSL-FO创建可打印文档

本文探讨了为何在需要格式化的XML文档时使用XSL-FO,描述了XSL-FO在XML中的作用,如何编写和处理FO文件,以及其在文档格式化中的应用。XSL-FO是一种XML词汇,用于定义文档外观,适用于创建可打印的、格式化的XML文档,提供页面布局、字体样式等设计属性的定义。
摘要由CSDN通过智能技术生成

xsl-fo

在本文中,我将说明为什么在需要处理为打印量身定制的XML文档时使用XML Stylesheet Language-Formatting Objects(称为XSL-FO)的工具。 我将描述在特定情况下在XML文档中包括格式化信息的好处。

格式化对象基础

XML被设计为在不同应用程序之间交换数据的一种可移植方式。 数据表示通常留给应用程序本身。 XML文档通常以有序的方式描述数据,其中缩进是唯一的格式。 在本节中,我将研究XSL-FO作为专门用来描述文档外观的XML词汇的使用。 我还提供了一些有关如何使用XSL-FO的技巧。

FO的定义及其在XSL中的作用

您可能已经知道,XSL代表可扩展样式表语言。 在定义语言的组成部分时,W3C的工作组明确指出XSL由两个主要部分组成:

  • 用于转换XML文档的语言
  • 用于指定格式语义的XML词汇表

XSL的第一个组件称为XSL转换或XSLT。 第二部分称为XSL-FO,或者简称为格式化对象(FO)。

XSLT用于通过将标记的数据转换为漂亮的文档来使XML文档可读。 通常,通过使用XSLT处理器应用样式表中定义的规则来完成文档转换。 此方法需要一个XML文档作为源,另一个具有格式信息(样式表)的文档,以及处理器。 但是,如果您想使用XML但又不想处理两个文档怎么办? 快速答案是:在文档中包含格式信息。

您可以使用FO在文档中包含格式信息。 尽管它不如XSLT流行,但是FO当然也很重要。 XSL-FO提供了一组标记,这些标记可用于定义文档对用户的显示方式。 使用FO,您可以定义页面布局,字体样式,颜色,图像渲染和许多其他设计属性。

如果您花时间阅读400多页的XSL-FO规范(请参阅参考资料 ),则W3C工作组定义的大量格式化对象可能会让您感到惊讶。 FO不限于印刷文件; 它为多媒体文件打开了一扇门。 如果400页太长,你的阅读口味,尝试优秀62页由Elliote生锈的哈罗德消化(参见相关主题 )。

有趣的是,在XSL规范中,W3C没有包含可用于验证FO文档的官方DTD(文档类型定义)。 幸运的是,RenderX生产了一个实验性FO DTD,可以帮助进行文档验证。

此时,可能会想到两个难题:何时使用XSL-FO,为什么使用? 我将探讨几种可能性。

FO的一些用途

首先,我将XML文档分为两类:

  • 纯数据文档,仅用于应用程序之间的信息交换
  • 人类将阅读的文件

关于第一类,仅在两个不同应用程序之间传输数据的XML文档通常根本不需要任何格式信息。 计算机程序并不关心它们处理的数据的外观。 有时甚至文档中包含的缩进也被认为是多余的。

属于第二类的文档通常在阅读之前使用样式表进行转换。 使用相同样式表准备的文档将看起来相似。 但是有时候您不想使用样式表,因为您想为相同类型的对象提供不同的表示形式。 这是FO可以提供帮助的地方:您可以使用FO作为专门的XML词汇来编写文档。

要使用所需的格式编写文档,可以使用许多可用的文字处理应用程序之一。 但是,请记住,它们每个都以专有格式存储文档。 因此,我可以在Windows下使用Microsoft Word编写文档,在Linux中使用StarSuite打开文档,然后阅读文本,但是格式总是与原始格式不同。 但是,如果可以使用FO将我的文档另存为XML文档,则无论使用哪种应用程序,我都希望保留格式信息。 使用FO的最大优点是,在任何平台或应用程序中,您只需要使用一种文档格式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值