XSL-FO region-beforeObject
XSL-FO Reference Manual
Definition and Usage
The <fo:region-before> object defines the top region (header) of a page.
XSL-FO uses the following elements to define the regions of a page:
- <fo:region-body> defines the body 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 avoid text in region-body overlapping text in other regions, the margin of region-body must be at least the same size as the four sub-regions mentioned above.
Note:According to the XSL-FO 1.0 Recommendation, the padding and border-width attributes must be 0.
Syntax
<!--
Contents:EMPTY
-->
</fo:region-before>
Attributes
| Attributes [A-B] | Attributes [C-Z] |
|---|---|
| background-attachment | clip |
| background-color | display-align |
| background-image | extent |
| background-repeat | overflow |
| background-position-horizontal | padding-after |
| background-position-vertical | padding-before |
| border-after-color | padding-bottom |
| border-after-style | padding-end |
| border-after-width | padding-left |
| border-before-color | padding-right |
| border-before-style | padding-start |
| border-before-width | padding-top |
| border-bottom-color | precedence |
| border-bottom-style | region-name |
| border-bottom-width | reference-orientation |
| border-end-color | writing-mode |
| border-end-style | |
| border-end-width | |
| border-left-color | |
| border-left-style | |
| border-left-width | |
| border-right-color | |
| border-right-style | |
| 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 pages. Each template must have a unique name:
<fo:region-body margin="5in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="left">
<fo:region-body margin-left="2in" margin-right="3in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="right">
<fo:region-body margin-left="3in" margin-right="2in" />
</fo:simple-page-master>
In the example above, 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 the introduction page.
The second and third templates are named "left" and "right". They can be used as page templates for even and odd page numbers.
Example 2
This is a fragment extracted from an XSL-FO document:
page-width="297mm" page-height="210mm"
margin-top="1cm" margin-bottom="1cm"
margin-left="1cm" margin-right="1cm">
<fo:region-body margin="3cm"/>
<fo:region-before extent="2cm"/>
<fo:region-after extent="2cm"/>
<fo:region-start extent="2cm"/>
<fo:region-end extent="2cm"/>
</fo:simple-page-master>
The code above defines a "Simple Page Master Template" named "A4".
The page width is 297 millimeters and the height is 210 millimeters.
The four margins of the page (top margin, bottom margin, left margin, right margin) are all 1 centimeter.
The body margin is 3 centimeters (on all four sides).
The body's before, after, start, and end regions are all 2 centimeters.
The width of the body in the example above can be calculated by subtracting the left and right margins and the region-body margins 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 explained earlier, these regions are part of the body.
XSL-FO Reference Manual Other Extensions