Date: 2005-02-17T07:52:26
   Editor: JeremiasMaerki
   Wiki: XML Graphics - FOP Wiki
   Page: TableLayout
   URL: http://wiki.apache.org/xmlgraphics-fop/TableLayout

   Notes on table layout

New Page:

= Notes on table layout =

== Grouping a bunch of cells into rows ==

It is possible to put table-cell elements as direct children of a table-body. 
In this case the table-body|header|footer FO builds table-row FOs from its 
table-cell FOs when it ends (in the FO tree building stage). This way the 
layout manager doesn't have to deal with the difference. It can always work on 
table-row objects.

== Notes on the separate border model ==

In the separate border model the individual cell borders don't interact with 
their neighbours which makes it relatively easy to layout. For a page or column 
you'd simply take the table-header (if any), then add calculate the BPD of the 
table-footer (if any). The remaining available BPD is filled with table-rows as 
possible. Backtracking may be necessary to create an optimal layout.

== Notes on the collapsing border model ==

In the collapsing border model the individual cell interact with neighbours. 
There are several factors influencing the height of a row (* marks the items 
that also apply to the separate border model):

 * the content of each cell (*)
 * the explicit BPD specified on cells and/or rows (*)
 * the resolved border width (see note below)

'''Note:''' Depending on the chosen break position the border width for the 
after edge of the cells (or rather grid units) in the last row before a 
table-footer may be different than without the table-footer present (the before 
edge of the table-footer has an influence). It also depends on whether a row is 
the last row or not (the after edge of the table and body have an influence). 
This has a consequence on the design of the table layout, meaning that the 
border resolution cannot simply be done before laying out the table. It has to 
be done on-the-fly as is subject to backtracking.

== Notes on column spanning ==

Column is relatively easy. Each row manages a list of all grid units and their 
content. (See also {{{Row.CellInfo}}})

== Notes on row spanning ==

'''''TBD'''''

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to