Common Formatting Objects
• page-sequence–a major part (such as front or body) in which the basic page layout may differ from other parts • flow–a chapter- or section-like division within a page-sequence • block–a paragraph (or title or block quote, etc.) • inline–e.g., a font change within a paragraph • wrapper–a “transparent” object usable as either a block or inline object that has no effect other than to provide a place to hang inheritable properties • list FOs–list-block, list-item, list-item-label, list-item-body • graphic–references an external graphic object • table FOs–mostly analogous to the standard (CALS, OASIS, HTML) table models |
Basic properties |
• font properties
• margin and spacing properties • border and padding properties • keeps/breaks • horizontal alignment/justification • indentation • more formatting object specific properties |
Formatting properties |
When taken as a whole, the various formatting objects in an XSL-FO document specify the order in which content is to be placed on pages. However, formatting properties specify the details of formatting such as size, position, font, color, and a lot more. Formatting properties are represented as attributes on the individual formatting object elements. |
The details of many of these properties should be familiar from CSS. Work is ongoing to ensure that CSS and XSL-FO use the same names to mean the same things. For example, the CSS font-family property means the same thing as the XSL font-family property; and although the syntax for assigning values to properties is different in CSS and XSL-FO, the meaning of the values themselves is the same. |
To indicate that the fo:block element is formatted in some approximation of Times, you might use this CSS rule: |
fo:block {font-family: ‘New York’, ‘Times New Roman’, serif} |
The XSL-FO equivalent is to include a font-family attribute in the fo:block start tag in this way: |
<fo:block font-family=”‘New York’, ‘Times New Roman’, serif”> |
Although this is superficially different, the style name (font-family) and the style value (‘New York’, ‘Times New Roman’, serif) are the same. CSS’s font-family property is specified as a list of font names, separated by commas, in order from first choice to last choice. |
XSL-FO’s font-family property is specified as a list of font names, separated by commas, in order from first choice to last choice. Both CSS and XSL-FO quote font names that contain white space. Both CSS and XSL-FO understand the keyword serif to mean an arbitrary serif font. |