Documentation XSL-FO

Les documents XSL-FO sont des fichiers XML portant des informations de sortie.

Documentation XSL-FO

Les documents XSL-FO sont des fichiers XML portant des informations de sortie. Ils contiennent des informations sur la mise en page et le contenu de la sortie.

Les documents XSL-FO sont stockés dans des fichiers portant l'extension .fo ou .fob. Les documents XSL-FO stockés sous l'extension .xml sont également courants, ce qui rend les documents XSL-FO plus faciles à accéder avec des éditeurs XML.

Structure du document XSL-FO

La structure des documents XSL-FO est similaire à cela :

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
  <fo:simple-page-master master-name="A4">
    <!-- Le modèle de page s'insère ici -->
  </fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
  <!-- Le contenu de la page s'insère ici -->
</fo:page-sequence>
</fo:root>

Explication de la structure

Les documents XSL-FO appartiennent aux documents XML, car ils doivent également commencer par une déclaration XML :

<?xml version="1.0" encoding="ISO-8859-1"?>

L'élément <fo:root> est l'élément racine du document XSL-FO. Cet élément racine doit également déclarer l'espace de noms de XSL-FO :

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <!-- Ce qui suit est le contenu du document XSL-FO -->
</fo:root>

L'élément <fo:layout-master-set> contient un ou plusieurs modèles de page :

<fo:layout-master-set>
  <!-- Ici sont tous les modèles de page -->
</fo:layout-master-set>

L'élément <fo:simple-page-master> contient un modèle de page unique. Chaque modèle doit avoir un nom unique (master-name) :

<fo:simple-page-master master-name="A4">
  <!-- Ici est un modèle de page spécifique -->
</fo:simple-page-master>

Un ou plusieurs éléments <fo:page-sequence> peuvent décrire le contenu de la page. L'attribut master-reference utilise le même nom pour faire référence au modèle simple-page-master :

<fo:page-sequence master-reference="A4">
  <!-- Ici est le contenu de la page -->
</fo:page-sequence>

Remarque :La valeur "A4" de master-reference ne décrit pas réellement un format de page prédéfini. C'est simplement un nom. Vous pouvez utiliser n'importe quel nom, par exemple "MyPage", "MyTemplate", etc.