Definitive XSL-FO
6.2.1 Table and cell borders
Table and cell borders can be visible or invisible.
Co-incident cell and table borders can be arbitrated or separated.
Precedence guides the arbitration between two conflicting border specifications.
Empty cells can be treated specially.
6.2.2 Spanning cells
Cells can occupy more than one column or row.
Cell spanning progresses towards the end and after edges, starting with the current cell
Spanning rows takes away from subsequent rows' unnumbered columns.
6.2.3 Table and cell alignment
Two ways to position a table in the inline-progression direction within its parent area are
Inheritable property values will be inherited by the table cells, usually producing undesirable results.
The content of cells can be aligned through inherited properties.
6.2.4 The table-and-caption object
Purpose
Content
Property sets
Other optional properties
Shorthands influencing the above properties
Property of interest
An example is shown in Figure 6-5. Figure 6-5. Table constructs
Note in the example:
An excerpt from Figure 6-5 is shown in Example 6-1. Example 6-1 The use of table-and-caption object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 <table-caption> 03 <block text-align="center">This is a test of a table</block> 04 </table-caption> 05 <table border="solid" border-collapse="collapse"> 06 ... 07 <table-header> 08 ... 09 </table-header> 10 <table-body> 11 ... 12 </table-body> 13 <table-body text-align="center"> 14 ... 15 </table-body> 16 </table> 17 </table-and-caption> 6.2.5 The table-caption object
Purpose
Content
Property sets
Other optional properties
Shorthand influencing the above properties
Properties of interest
Properties of descendent blocks within the caption block
An excerpt from Figure 6-5 is shown in Example 6-2. 6.2.6 The table object
Purpose
Content
Example 6-2 The use of table-caption object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 <table-caption> 03 <block text-align="center">This is a test of a table</block> 04 </table-caption> 05 <table border="solid" border-collapse="collapse"> 06 ... 07 <table-header> 08 ... 09 </table-header> 10 <table-body> 11 ... 12 </table-body> 13 <table-body text-align="center"> 14 ... 15 </table-body> 16 </table> 17 </table-and-caption> Property sets
Other optional properties
Shorthands influencing the above properties
An excerpt from Figure 6-5 is shown in Example 6-3. Example 6-3 The use of table object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 <table-caption> 03 <block text-align="center">This is a test of a table</block> 04 </table-caption> 05 <table border="solid" border-collapse="collapse"> 06 ... 07 <table-header> 08 ... 09 </table-header> 10 <table-body> 11 ... 12 </table-body> 13 <table-body text-align="center"> 14 ... 15 </table-body> 16 </table> 17 </table-and-caption> 6.2.7 The table-column object
Purpose
Content
Property sets
Other optional properties
Property of interest
An excerpt from Figure 6-5 is shown in Example 6-4. Example 6-4 The use of table-column object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 <table-caption> 03 <block text-align="center">This is a test of a table</block> 04 </table-caption> 05 06 <table border="solid" border-collapse="collapse"> 07 <table-column column-width="proportional-column-width(2)"/> 08 <table-column column-width="proportional-column-width(1)"/> 09 <table-column column-width="proportional-column-width(1)"/> 10 <table-column column-width="proportional-column-width(1)" 11 font-weight="bold"/> 12 <table-column column-width="proportional-column-width(1)"/> 13 14 <table-header> 15 ... 16 </table-header> 17 <table-body> 18 ... 19 </table-body> 20 <table-body text-align="center"> 21 ... 22 <table-cell font-weight="from-table-column(font-weight)"> 23 <block>cell-06</block></table-cell> 24 25 <table-cell font-weight="from-table-column(font-weight)"> 26 <block>cell-07</block></table-cell> 27 <table-cell font-weight="from-table-column(font-weight)" 28 ends-row="true"> 29 <block>cell-08</block></table-cell> 30 ... 31 </table-body> 32 </table> 33 </table-and-caption> 6.2.8 The table-header object
Purpose
Content
Property sets
Other optional properties
An excerpt from Figure 6-5 is shown in Example 6-5. 6.2.9 The table-footer object
Purpose
Content
Example 6-5 The use of table-header object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 <table-caption> 03 <block text-align="center">This is a test of a table</block> 04 </table-caption> 05 <table border="solid" border-collapse="collapse"> 06 ... 07 <table-header> 08 <table-row> 09 ... 10 </table-row> 11 <table-row> 12 ... 13 </table-row> 14 </table-header> 15 <table-body> 16 <table-row text-align="center"> 17 ... 18 <table-row text-align="center"> 19 ... 20 </table-body> 21 <table-body text-align="center"> 22 <table-cell font-weight="from-table-column(font-weight)"> 23 <block>cell-01</block></table-cell> 24 ... 25 <table-cell font-weight="from-table-column(font-weight)"> 26 <block>cell-14</block></table-cell> 27 </table-body> 28 </table> 29 </table-and-caption> Property sets
Other optional properties
6.2.10 The table-body object
Purpose
Content
Property sets
Other optional properties
An excerpt from Figure 6-5 is shown in Example 6-6. Example 6-6 The use of table-body object in Figure 6-5
Line 01 <table border="solid" border-collapse="collapse"> 02 ... 03 <table-header> 04 ... 05 </table-header> 06 <table-body> 07 <table-row text-align="center"> 08 ... 09 </table-row> 10 <table-row text-align="center"> 11 <table-cell font-weight="from-table-column(font-weight)"> 12 <block>2-a</block></table-cell> 13 </table-row> 14 <table-row text-align="center"> 15 <table-cell font-weight="from-table-column(font-weight)"> 16 <block>3-a</block></table-cell> 17 </table-row> 18 </table-body> 19 <table-body text-align="center"> 20 <table-cell font-weight="from-table-column(font-weight)"> 21 <block>cell-01</block></table-cell> 22 ... 23 <table-cell font-weight="from-table-column(font-weight)" 24 starts-row="true"> 25 <block>cell-04</block></table-cell> 26 ... 27 <table-cell font-weight="from-table-column(font-weight)" 28 ends-row="true"> 29 <block>cell-08</block></table-cell> 30 ... 31 <table-cell font-weight="from-table-column(font-weight)" 32 starts-row="true"> 33 <block>cell-11</block></table-cell> 34 <table-cell font-weight="from-table-column(font-weight)"> 35 <block>cell-12</block></table-cell> 36 </table-body> 37 </table> Note in the example:
6.2.11 The table-row object
Purpose
Content
Property sets
Other optional properties
Shorthands influencing the above properties
An excerpt from Figure 6-5 is shown in Example 6-7. Example 6-7 The use of table-row object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 <table-caption> 03 <block text-align="center">This is a test of a table</block> 04 </table-caption> 05 <table border="solid" border-collapse="collapse"> 06 ... 07 <table-header> 08 <table-row> 09 <table-cell number-rows-spanned="2"> 10 ... 11 </table-row> 12 <table-row> 13 <table-cell border-before- 14 border-after-> 15 ... 16 </table-row> 17 </table-header> 18 <table-body> 19 <table-row text-align="center"> 20 ... 21 </table-row> 22 23 <table-row text-align="center"> 24 <table-cell font-weight="from-table-column(font-weight)"> 25 <block>2-a</block></table-cell> 26 </table-row> 27 <table-row text-align="center"> 28 <table-cell font-weight="from-table-column(font-weight)"> 29 <block>3-a</block></table-cell> 30 </table-row> 31 </table-body> 32 <table-body text-align="center"> 33 <table-cell font-weight="from-table-column(font-weight)"> 34 <block>cell-01</block></table-cell> 35 ... 36 <table-cell font-weight="from-table-column(font-weight)"> 37 <block>cell-14</block></table-cell> 38 </table-body> 39 </table> 40 </table-and-caption> 6.2.12 The table-cell object
Purpose
Content
Property sets
Other optional properties
Example 6-8 The use of table-cell object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 ... 03 <table-header> 04 <table-row> 05 <table-cell font-weight="from-table-column(font-weight)" 06 number-rows-spanned="2"> 07 <block/> 08 </table-cell> 09 <table-cell font-weight="from-table-column(font-weight)" 10 number-rows-spanned="2" border="solid" 11 display-align="center"> 12 <block text-align="center">a</block> 13 </table-cell> 14 <table-cell font-weight="from-table-column(font-weight)" 15 number-columns-spanned="3"> 16 <block text-align="center">b/c/d</block> 17 </table-cell> 18 </table-row> 19 ... 20 </table-header> 21 <table-body> 22 <table-row text-align="center"> 23 <table-cell font-weight="from-table-column(font-weight)" 24 number-rows-spanned="3" border="dashed" 25 display-align="center"> 26 <block>Row values here</block> 27 </table-cell> 28 <table-cell font-weight="from-table-column(font-weight)"> 29 <block>1-a</block> </table-cell> 30 <table-cell font-weight="from-table-column(font-weight)"> 31 <block>1-b</block> </table-cell> 32 </table-row> 33 <table-row text-align="center"> 34 <table-cell font-weight="from-table-column(font-weight)"> 35 <block>2-a</block> </table-cell> 36 </table-row> 37 <table-row text-align="center"> 38 <table-cell font-weight="from-table-column(font-weight)"> 39 <block>3-a</block> </table-cell> 40 </table-row> 41 </table-body> Excerpts from Figure 6-5 in Examples Example 6-8 and Example 6-9 show, respectively, the use of the row-based and cell-based row grouping strategies. Example 6-9 The use of table-cell object in Figure 6-5
Line 01 <table-and-caption caption-side="after"> 02 ... 03 <table-body text-align="center"> 04 <table-cell font-weight="from-table-column(font-weight)"> 05 <block>cell-01</block> </table-cell> 06 <table-cell font-weight="from-table-column(font-weight)"> 07 <block>cell-02</block> </table-cell> 08 <table-cell font-weight="from-table-column(font-weight)"> 09 <block>cell-03</block> </table-cell> 10 <table-cell font-weight="from-table-column(font-weight)" 11 starts-row="true"> 12 <block>cell-04</block> </table-cell> 13 <table-cell font-weight="from-table-column(font-weight)"> 14 <block>cell-05</block> </table-cell> 15 <table-cell font-weight="from-table-column(font-weight)"> 16 <block>cell-06</block> </table-cell> 17 <table-cell font-weight="from-table-column(font-weight)"> 18 <block>cell-07</block> </table-cell> 19 <table-cell font-weight="from-table-column(font-weight)" 20 ends-row="true"> 21 <block>cell-08</block> </table-cell> 22 <table-cell font-weight="from-table-column(font-weight)"> 23 <block>cell-09</block> </table-cell> 24 <table-cell font-weight="from-table-column(font-weight)"> 25 <block>cell-10</block> </table-cell> 26 <table-cell font-weight="from-table-column(font-weight)" 27 starts-row="true"> 28 <block>cell-11</block> </table-cell> 29 <table-cell font-weight="from-table-column(font-weight)"> 30 <block>cell-12</block> </table-cell> 31 <table-cell font-weight="from-table-column(font-weight)"> 32 <block>cell-13</block> </table-cell> 33 <table-cell font-weight="from-table-column(font-weight)"> 34 <block>cell-14</block> </table-cell> 35 </table-body> 36 </table> 37 </table-and-caption> |