La construction d’une « stylesheet » XSL-FO repose sur l’utilisation de différents « formatting
objects ».
La recommandation W3C propose le modèle ci-après.
La forme d’un document XSL-FO est celle d’un arbre XML, à la base duquel se trouve un élément
racine qui est le « fo:root » « formatting object ».
« fo-root » a pour éléments descendants:
– « fo:layout-master-set » qui défini la géométrie et la séquence des pages utilisées dans le
document final.
– « fo:declarations » (qui est optionnel).
– une ou plusieurs « fo:page-sequences », dont les descendants sont des « flows », génèrent le
contenu de ces pages.
« fo:layout-master-set » a pour enfants:
– simple-page-masters qui décrit les subdivisions des pages et leur géométrie; il faut au minimum
un simple-page-master. Un simple-page-master a un attribut « master-name ».
– page-sequence-masters qui décrit la séquence de « page-masters » que le formatting du
« fo:page-sequence » devra respecter. Il détermine l’ordre d’apparition des « page-masters ». Un
page-sequence-master » a un attribut « master-reference ».
Représentation d’un simple-page-master model. (source: W3C)
Le « simple-page-master » permet de déterminer différentes régions (« region before », « region start »,
« region after », « region end », « body ») et la taille d’une page (« margin »).
D’autres propriétés ayant trait à la pagination peuvent être décrites, comme la direction d’écriture au
travers des différentes pages d’un document « writing mode » et « relative direction » .