Pagina XSL-FO

XSL-FO utilizza un modello di pagina chiamato "Page Masters" per definire la layout della pagina.

Modello di pagina XSL-FO

XSL-FO utilizza un modello di pagina chiamato "Page Masters" per definire la layout della pagina. Ogni modello deve avere un nome unico:

<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>

Negli esempi precedenti, tre elementi <fo:simple-page-master> definiscono tre modelli diversi. Ogni modello (page-master) ha un nome diverso.

Il primo modello si chiama "intro" e può essere utilizzato come modello per la pagina di introduzione.

Il secondo e il terzo modello si chiamano "left" e "right" e possono essere utilizzati per le pagine con numeri di pagina pari e dispari.

Dimensioni della pagina XSL-FO

XSL-FO utilizza i seguenti attributi per definire le dimensioni della pagina:

page-width
Definisci la larghezza della pagina
page-height
Definisci l'altezza della pagina

Margini della pagina XSL-FO

XSL-FO utilizza i seguenti attributi per definire i margini della pagina:

margin-top
Definisci il margine superiore
margin-bottom
Definisci il margine inferiore
margin-left
Definisci il margine sinistro
margin-right
Definisci il margine destro
margin
Definisci i margini di tutti i lati

Aree della pagina XSL-FO (Page Regions)

XSL-FO utilizza gli elementi seguenti per definire le aree della pagina:

region-body
Definisci la regione principale
region-before
Definisci la regione superiore (testata di pagina)
region-after
Definisci la regione inferiore (pie di pagina)
region-start
Definisci la regione di sinistra (colonna di sinistra)
region-end
Definisci la regione di destra (colonna di destra)

Nota:region-before、region-after、region-start e region-end sono parte della regione principale. Per evitare che il testo della regione principale copra queste aree, i margini della regione principale devono essere almeno uguali alle dimensioni delle altre aree.

Illustrazione:

Esempio XSL-FO

Questo è un frammento estratto da un documento XSL-FO:

<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>

Il codice sopra definisce un modello di pagina master denominato "Simple Page Master Template" con il nome "A4".

La larghezza della pagina è di 297 millimetri, l'altezza è di 210 millimetri.

I margini di tutte le quattro estremità della pagina sono di 1 centimetro.

I margini del corpo principale sono di 3 centimetri (tutti e quattro i lati).

Le aree before, after, start e end sono di 2 centimetri.

La larghezza del corpo principale nell'esempio sopra può essere calcolata sottraendo la larghezza della pagina, i margini laterali e i margini di region-body:

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

Nota:La regione (region-start e region-end) non è stata calcolata. Come spiegato in precedenza, queste regioni sono parte del corpo principale.