]> FOP Implementation of Layout Formatting Objects This table displays information concerning FOP implementation of XSL formatting objects of the layout type. The category classes refer to the XSL specification notation %block; and %inline;. These classifications are rather less useful in practical terms than one might initially suppose. The Base Class of each object is the FOP implementation class. The Spec Content is the BNF grammar describing the content of each FO, as taken from the XSL specification. The Breaks and Keeps describes what breaks and keeps apply to each FO. All means all breaks and keeps, All Keeps indicates that keep-together, keep-with-next, and keep-with-previous all apply. The abbreviations kt, kwn, and kwp specify individual keep properties. The information on generated areas describes what type of areas are generated by a given FO, how many there are, whether or not they are reference areas, and what FOP area class is being used for layout. In some cases content is laid-out into the parent area; in others, the content is laid-out in new areas that are constructed as required, then added to the parent area - this is also noted in the table. In practise, we should see that FOs that do not generate areas should layout into the parent. The Name, Spec Content, and Breaks & Keeps information is definite. The type and multiplicity of generated areas is definite, as well as whether the generated areas are reference areas or not. The BaseClass and the layout area information is FOP-implementation dependent. Note: Numbers in parentheses refer to Notes. A * after an FO name indicates that the object is not yet implemented. block FObjMixed normalblock 1..* BlockArea All (2) block-container FObj viewport/refblock 1..* AreaContainer All table-and-caption FObj (1) (table-caption?,table) normalblock 1..* AreaContainer All keeps table FObj (table-column*,table-header?, table-footer?,table-body+) normalblock 1..* AreaContainer All list-block FObj (list-item+) normalblock 1..* BlockArea All bidi-override FObjMixed (1) normalinline 1..* character FObj EMPTY normalinline 1 BlockArea kwn, kwp external-graphic FObj EMPTY viewport/refinline 1 ImageArea kwn, kwp initial-property-set FObj (1) EMPTY instream-foreign-object FObj XML viewport/refinline 1 ForeignObjectArea kwn, kwp inline FObjMixed normalinline 1..* Area All keeps inline-container FObj (1) viewport/refinline 1..* All keeps leader FObjMixed normalinline 1 BlockArea page-number FObj EMPTY normalinline 1 BlockArea (4) kwn, kwp page-number-citation FObj EMPTY normalinline 1 BlockArea (4) kwn, kwp basic-link FObjMixed normalinline 1..* Area (4) All keeps list-item-body FObj NoneNone Area kt list-item FObj (list-item-label,list-item-body) normalblock 1..* BlockArea All list-item-label FObj NoneNone Area kt table-body FObj (table-row+|table-cell+) NoneNone AreaContainer (3) table-caption FObj (1) normalblock 1..* kt table-cell FObj normalblock 1..* AreaContainer table-column FObj EMPTY table-footer TableBody (table-row+|table-cell+) NoneNone AreaContainer (3) table-header TableBody (table-row+|table-cell+) NoneNone AreaContainer (3) table-row FObj (table-cell+) All not yet implemented; suggested base class also widows & orphans This is being generated in FOP, but an fo:table-body, or fo:table-header, or fo:table-footer, generate no areas. Should generate an area.