XSL-FO region-body
Object
Definition and Usage
The <fo:region-body>
object defines the main area of the page.
XSL-FO uses the following elements to define the regions of the page:
<fo:region-body>
defines the main region<fo:region-before>
defines the top region (header)<fo:region-after>
defines the bottom region (footer)<fo:region-start>
defines the left region (left sidebar)<fo:region-end>
defines the right region (right sidebar)
Note: region-before, region-after, region-start, and region-end are all part of region-body. To prevent text within region-body from overlapping text in other regions, the margins of region-body must be at least as large as the dimensions of the four sub-regions.
Tip: To provide multiple columns in the region-body, set the column-count attribute to greater than 1!
Note: If the overflow attribute is set to "scroll", you cannot set the column-count attribute to greater than 1!
Note: According to the XSL-FO 1.0 recommendation, the padding and border-width attributes must be 0.
Syntax
Attributes
Attribute [A-B] | Attribute [C-Z] |
---|---|
background-attachment | clip |
background-color | column-count |
background-image | column-gap |
background-repeat | display-align |
background-position-horizontal | end-indent |
background-position-vertical | margin-bottom |
border-after-color | margin-left |
border-after-style | margin-right |
border-after-width | margin-top |
border-before-color | overflow |
border-before-style | padding-after |
border-before-width | padding-before |
border-bottom-color | padding-bottom |
border-bottom-style | padding-end |
border-bottom-width | padding-left |
border-end-color | padding-right |
border-end-style | padding-start |
border-end-width | padding-top |
border-left-color | region-name |
border-left-style | reference-orientation |
border-left-width | space-after |
border-right-color | space-before |
border-right-style | writing-mode |
border-right-width | |
border-start-color | |
border-start-style | |
border-start-width | |
border-top-color | |
border-top-style | |
border-top-width |
Example 1
XSL-FO uses page templates called "Page Masters" to define the layout of the page. Each template must have a unique name:
In the above example, three <fo:simple-page-master>
elements define three different templates. Each template (page-master) has a different name.
The first template is named "intro". It can be used as a template for introduction pages.
The second and third templates are named "left" and "right". They can be used as templates for even and odd page numbers.
Example 2
This is an excerpt extracted from an XSL-FO document:
The above code defines a "Simple Page Master Template" named "A4".
The page width is 297 millimeters and the height is 210 millimeters. The margins of the page (top margin, bottom margin, left margin, right margin) are all 1 centimeter.
The margins of the body are 3 centimeters (all four sides).
The before, after, start, and end regions of the body are each 2 centimeters.
The width of the body in the example above can be calculated by subtracting the left and right margins and the margins of the region-body from the page width:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm
Note that the regions (region-start and region-end) are not included in the calculation. As previously explained, these regions are part of the body.