曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
XML 實用大全
第 563 頁
15.9 表格
XSL 中的基本的表格元素為fo:table-and-caption,這是個塊級對象。但將它包裝到fo:inline-included-container 中就
可轉變為內聯對象,或將它包裝到fo:float 中就可轉變為外聯對象。表格模型與HTML 的表格模型十分相近。表15-1 顯示
HTML 4.0 表元素與XSL 格式化對象之間的等價關系:
表15-1 HTML 表格與XSL 格式化對象的表格的對比
HTML 元素 XSL 格式化對象元素
TABLE Fo:table-and-caption
無對等元素 fo:table
CAPTION fo:table-caption
COL fo:table-column
COLGROUP 無對等元素
THEAD fo:table-reader
TBODY fo:table-body
TFOOT fo:table-footer
TD fo:table-cell
TR fo:table-row
fo:table-and-caption 包括一個可選的fo:caption 元素和一個fo:table 元素。標題可包含要放在此標題中的任何塊級元
素。在缺省的情況下,標題放在表之前,但可以通過設置table-and-caption 元素的caption-side 屬性為下列八個值之一
而進行調整:
• before
• after
• start
• end
• top
• bottom
• left
• right
例如,下面是一個將標題放在底部的表格:
<fo:table-and-caption caption-side="bottom">
<fo:table-caption>
XML 實用大全
第 564 頁
<fo:block font-weight="bold"
font-family="Helvetica, Arial, sans"
font-size="12pt">
Table 15 1: HTML Tables vs. XSL Formatting Object Tables
</fo:block>
</fo:table-caption>
<fo:table>
<!- table contents go here ->
</fo:table>
</fo:table-and-caption>
fo:table 元素包括一個可選的fo:table-column、fo:table-header、一個可選的fo:table-footer 和一個或多個
fo:table-body 元素。fo:table-body 分成fo:table-row 元素。每個fo:table-row 分成fo:table-cell 元素。fo:table-header
和fo:table-footer 既可分成fo:table-cell 元素,也可分成fo:table-row 元素。例如,下面的這個簡單的表,與表15-1
的第三行相對應:
<fo:table>
<fo:table-header>
<fo:table-cell>
<fo:block font-family="Helvetica, Arial, sans"
font-size="11pt" font-weight="bold">
HTML Element
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-family="Helvetica, Arial, sans"
font-size="11pt" font-weight="bold">
XSL FO Element
XML 實用大全
第 565 頁
</fo:block>
</fo:table-cell>
</fo:table-header>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block font-family="Courier, monospace">
TABLE
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-family="Courier, monospace">
fo:table-and-caption
</fo:block>
</fo:table-cell>
</fo:tdble-row>
<fo:table-row>
<fo:table-cell>
<fo:block>no equivalent</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-family="Courier, monospace">
fo:table
</fo:block>
XML 實用大全
第 566 頁
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
設置n-columns-spanned 和n-rows-spanned 特性為一整數,表示要跨越的行或列數,這時,表的單元格就可以跨越多行和
多列。可選的column-number 特性可以改變從哪一列開始合并單元格,缺省值是當前列。
使用通常的邊界屬性(將在以后討論),就可以在表的各部分周圍繪制邊框。empty-cells 特的值可取show 或hide,如果
要在無內容的單元格周圍繪制邊框,則為show;否則為hide。缺省值為show。
大多數表的各部分不使用標準的寬度和高度屬性,而是具有等價的屬性。可以省略下面當中的任何一個或所有的特性,在此
情況下,格式化程序只將每個部分調整成合適的大小:
• table:table-width,table-height
• table-caption:caption-width,由格式化程序自動確定高度
• table-row:row-height,由內容確定寬度
• table-cell:cell-height,column-number,column-width,n-columns-spanned,n-rows-spanned
fo:table-row 元素有可選的may-break-after-row 和may-break-before-row 特性,其值為yes 或no,此值確定在行前和行
后是否允許有分頁符。這兩個特性的缺省值都為yes。
當一長表擴展到多頁時,有時候在每頁上重復頁眉和頁腳。使用fo:table 元素的table-omit-middle-header 和
table-omit-middle-footer 特性,可指定這種行為。值為yes 表示頁眉或頁腳一頁一頁地重復。值為no 表示頁眉或頁腳不
是一頁一頁地重復。缺省值為no。
可選的fo:table-column 元素是一空元素,它為一特定列中的所有單元格指定值。使用此元素的單元格由column-number
特性來識別。fo:table-column 并不真正地包含任何單元格。將n-columns-spanned 屬性設置成大于1 的整數時,
fo:table-column 可將屬性應用于多個連續的列中。在fo:table-column 中進行設置的最常用的屬性是column-width(有符
號的長度),但標準的邊界、貼邊以及背景屬性(下面討論)也可以設置。
中國航空網 m.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(160)