XSL-FO region-bodyObjekt
XSL-FO-Referenzhandbuch
Definition und Verwendung
Das <fo:region-body>-Objekt definiert den Hauptbereich einer Seite.
XSL-FO verwendet die folgenden Elemente, um die Bereiche einer Seite zu definieren:
- <fo:region-body> definiert den Hauptbereich
- <fo:region-before> definiert die obere Region (Kopfzeile)
- <fo:region-after> definiert den unteren Bereich (Fußzeile)
- <fo:region-start> definiert den linken Bereich (linke Seitenleiste)
- <fo:region-end> definiert den rechten Bereich (rechte Seitenleiste)
Hinweis:region-before, region-after, region-start und region-end sind alle Teil von region-body. Um zu verhindern, dass sich Text innerhalb von region-body mit Text in anderen Regionen überlappt, muss der Rand von region-body mindestens genauso groß sein wie die Abmessungen der vier oben genannten Unterregionen.
Tipp:Um mehrere Spalten im region-body-Bereich bereitzustellen, muss das Attribut column-count auf einen Wert größer als 1!/p> gesetzt werden
Hinweis:Wenn der Wert des Attributs overflow "scroll" ist, kann das Attribut column-count nicht auf größer als 1 gesetzt werden!
Hinweis:Gemäß der XSL-FO-1.0-Empfehlung müssen die Attribute padding und border-width 0 sein.
Syntax
<!--
Inhalt:EMPTY
-->
</fo:region-body>
Attribute
| 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 |
Beispiel 1
XSL-FO verwendet Seitenvorlagen namens "Page Masters", um das Seitenlayout zu definieren. Jede Vorlage muss einen eindeutigen Namen haben:
<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>
Im obigen Beispiel definieren drei <fo:simple-page-master>-Elemente drei verschiedene Vorlagen. Jede Vorlage (Page Master) hat einen anderen Namen.
Die erste Vorlage heißt "intro". Sie kann als Vorlage für die Einführungsseite verwendet werden.
Die zweite und die dritte Vorlage heißen "left" und "right". Sie können als Seitenvorlagen für gerade und ungerade nummerierte Seiten verwendet werden.
Beispiel 2
Dies ist ein Fragment, das aus einem XSL-FO-Dokument extrahiert wurde:
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>
Der obige Code definiert ein "Simple Page Master Template" namens "A4".
Die Seitenbreite beträgt 297 Millimeter und die Höhe 210 Millimeter.
Die vier Seitenränder (oberer Rand, unterer Rand, linker Rand, rechter Rand) sind alle 1 Zentimeter.
Der Rand des Textkörpers beträgt 3 Zentimeter (auf allen vier Seiten).
Die Regionen before, after, start und end des Textkörpers sind alle 2 Zentimeter.
Die Breite des Body im obigen Beispiel kann berechnet werden, indem man den linken und rechten Rand sowie die Ränder von region-body von der Seitenbreite abzieht:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm
Beachten Sie, dass die Regionen (region-start und region-end) nicht in die Berechnung einbezogen werden. Wie bereits erläutert, sind diese Regionen Teil des Hauptbereichs.
XSL-FO Referenzhandbuch Weitere Erweiterungen