• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:24来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

<fo:sequence-specifier-single
page-master name="only"/>
</fo:sequence-specification>
<fo:flow>
<xsl:apply-templates select="//ATOM"/>
</fo: flow>
XML 实用大全
第 544 页
</fo:page-sequence>
</fo :root>
</xsl:template>
<xsl:template match="ATOM">
<fo:block font-size="20pt" font-family="serif">
<xsl:value-of select="NAME"/>
</fo:block>
</xsl:template>
</xsl:stylesheet>
15.2.4 使用FOP
在撰写本书时,没有任何浏览器能够直接显示转换成XSL 格式化对象的XML。只有一个软件可以使用以XSL 格式化对象标记
的文件,此软件即为James Tauber 的FOP。FOP 为免费的Java 程序,它将FO(格式化对象,formatting object)文档转
换成Adobe Acrobat PDF 文件。可从http://www.jtauber.com/fop/站点下载最新版的FOP。
在撰写本书时,现有的FOP 版本为0.6.0,它不完全支持格式化对象的子集和XSL 第四草案中的属性。FOP 是一Java 程序,
它可运行于适当兼容Java 1.1 虚拟机的任何平台。要安装此程序,只需将fop.jar 压缩文件放在CLASSPATH 路径指明的目
录中。com.jtauber.fop.FOP 类包含用于本程序的main()方法。在命令行中,可使用指定输入和输出文件的参数来运行本程
序。例如:
C:\XML\BIBLE\15>java com.jtauber.fop.FOP 15-1.fob 15-1.pdf
James Tauber s FOP 0.6.0
auto page-height: using 11in
auto page-width: using 8in
successfully read and parsed 15-1.fob
laying out page 1... done page 1.
successfully wrote 15-1.pdf
其中15-1.fob 是输入的XML 文件,它使用格式化对象符号集。15-1.pdf 是输出的PDF 文件,它能够在Adobe Acrobat 或其
他读取PDF 文件的程序中显示和打印。
XML 实用大全
第 545 页
尽管PDF 文件本身是ASCII 文本,但本书不是有关PostScript 的书籍,所以虽然精确地显示了上面的命令,读者却什么也
得不到。如果好奇,可在任何文本编辑器程序中打开PDF 文件。图15-1 展示的转换文件,是使用Acrobat 插件程序(plug-in),
在Netscape Navigator 中显示的。
图15-1 在Netscape Navigator 中显示的PDF 文件
对于使用XSL 格式化对象来设置样式的XML 文档来说,PDF 文件不是唯一的或是主要的最终目标格式。当然,人们希望在不
太遥远的将来Web 浏览器能直接支持XSL 格式化对象。就目前而言,PDF 文件是唯一可用的格式,这也正是我要在本章中说
明的内容。最终,应该有更多的软件能够阅读和显示这些文件。
XML 实用大全
第 546 页
15.3 页面布局
格式化对象的根元素是fo:root。此元素包含一个fo:layout-master-set 元素和零或多个fo:page-sequence 元素。fo:root
元素通常有xmlns:fo 特性,其特性值为http: //www.w3.org /XSL /Format /1.0,并且可能(尽管通常情况下没有)有一
个id 特性。fo:root 元素的存在只为了声明命名域和文档根元素,它对页面布局或格式化没有直接的影响。
15.3.1 主控页面
fo:layout-master-set 元素为一容器,用于文档使用的所有不同的主控页面。简单的页面控制与Quark XPress 主控页面或
PowerPoint 幻灯母板的用途类似。每个都定义页面(包括此页的页边距、页眉大小、页脚、文本区域等等)的通用布局。
在显示文档中的每个实际页面都基于主控页,以及从此主控页面中继承某些属性,如页边距、页编号和布局。
15.3.1.1 简单的页面控制
每个主控页面都是由fo:simple-page-master 元素表示的。fo:layout-master-set 可以包含一个或多个主控页面。一个
fo:simple-page-master 元素定义页的布局,包括页前区、主体区、后区、结束区以及开始区的大小。图15-2 显示这些部
分的典型布局。正文是中间留下来的所有内容。
图15-2 一页简单的英语文本各部分的布局
在正常的英语文本中,结束区处于页的右侧,开始区处于页的左侧。而在希伯来语或阿拉伯语的文本中,则反过
来,因为这些语言是从右往左阅读。在几乎所有的现代语言中,前区是页眉,后区则是页脚,但在以从底部往顶
部书写的语言中,这种情况则相反。
设计者利用适当的区域子元素可设置正文(中间部分)区、页眉、页脚、结束区和开始区的大小以及它们之间的距离。下面
就是这些区域子元素:
• fo:region-before
• fo:region-after
• fo:region-body
• fo:region-start
• fo:region-end
这五个简单页面控制中的每一个区域都可以用fo:flow 或fo:static-content 元素来填充。
simple-page-master 元素通常有三个主要特性:
XML 实用大全
第 547 页
1.page-master-name:这一页面控制的名称,页序列使用此名来选择依赖于特定页的主控页
2.page-height:页的高度
3.page-width:页的宽度
page-height 和page-width 可归入一个缩略属性size 中。如果不提供这两个特性,那么格式化部分根据所使用的媒体(例
如11"´ 8.5")来选择合理的缺省值。
例如,此处的fo:layout-master-set,含有两个fo:simple-page-master 元素:一个用于偶数(左)页,一个用于奇数(右)
页。它们两个都指定11 英寸长,8.5 英寸宽的页面大小。它们的顶和底页边距为0.5 英寸。按照通常页面相对的情况,每
个元素的的内侧页边距为0.5 英寸,外侧页边距为1 英寸,
<fo:layout-master-set>
<fo:simple-page-master page-master-name="even"
height="8.5in" width="11in"
margin-top="0.5in" margin-bottom="0.5in"
margin-left="l.0in" margin-right="0.5in">
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(154)