曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
<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.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(154)