XSL-FO Pagina's

XSL-FO gebruikt een pagina sjabloon genaamd "Paginamasters" om de lay-out van de pagina's te definiëren.

XSL-FO pagina sjabloon

XSL-FO gebruikt een pagina sjabloon genaamd "Paginamasters" om de lay-out van de pagina's te definiëren. Elke sjabloon moet een unieke naam hebben:

<fo:simple-page-master master-name="intro">
  <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 het bovenstaande voorbeeld definiëren drie <fo:simple-page-master> elementen drie verschillende sjablonen. Elke sjabloon (page-master) heeft een verschillende naam.

De eerste sjabloon heet "intro" en kan worden gebruikt als sjabloon voor introductiepagina's.

De tweede en derde sjablonen hebben de namen "left" en "right" en kunnen worden gebruikt voor even en oneven pagina's.

XSL-FO pagina maat

XSL-FO gebruikt de volgende eigenschappen om de maat van de pagina te definiëren:

page-width
Definieer de breedte van de pagina
page-height
Definieer de hoogte van de pagina

XSL-FO pagina marges

XSL-FO gebruikt de volgende eigenschappen om de pagina marges te definiëren:

margin-top
Definieer de bovenste marge
margin-bottom
Definieer de onderste marge
margin-left
Definieer de linker marge
margin-right
Definieer de rechter marge
margin
Definieer de marges aan alle kanten

XSL-FO pagina gebieden (Page Regions)

XSL-FO gebruikt de volgende elementen om de gebieden van de pagina te definiëren:

region-body
Definieer het hoofdgebied
region-before
Definieer de bovenste zone (koptekst)
region-after
Definieer de onderste zone (voettekst)
region-start
Definieer de linker zone (linker kolom)
region-end
Definieer de rechter zone (rechter kolom)

Opmerking:region-before、region-after、region-start en region-end zijn onderdeel van het hoofdgebied. Om te voorkomen dat de tekst van het hoofdgebied deze gebieden overschrijft, moeten de marges van het hoofdgebied ten minste gelijk zijn aan de maat van de andere gebieden.

Illustratie:

XSL-FO voorbeeld

Dit is een fragment geëxtraheerd uit een XSL-FO-document:

<fo:simple-page-master master-name="A4">
 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>

Het bovenstaande code definieert een "Simple Page Master Template" genaamd "A4".

De breedte van de pagina is 297 millimeter, de hoogte is 210 millimeter.

De vier marges van de pagina zijn allemaal 1 centimeter breed.

De marges van het hoofdgedeelte zijn 3 centimeter (aan alle vier kanten).

De before, after, start en end regio's zijn allemaal 2 centimeter breed.

De breedte van het hoofdgedeelte in het voorbeeld kan worden berekend door de paginabreedte te verminderen met de marges aan de linker- en rechterkant en de marges van de region-body:

297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm.

Opmerking:De regio's (region-start en region-end) zijn niet meegenomen in de berekening. Net zoals eerder is uitgelegd, zijn deze regio's onderdeel van het hoofdgedeelte.