XSL : eXtensible Stylesheet Language
XSL-FO
1. Généralités
XSL-FO signifie XSL Formatting Objects
XSL-FO est le dernier volet de la norme XSL, qui consiste en un format XML de mise en page, permettant de préparer des documents adaptés à l’impression. Il permet ainsi aux éditeurs d’incorporer des données reposant sur XML, afin de créer des doc au contenu visuel riche.
2. Principe
Pour générer un document PDF imprimable, voici la démarche à suivre :
- Il faut générer à partir d'un document XML source un document XSL-FO avec une feuille de style XSLT appropriée
- Le document XSL FO doit utiliser l'espace de nom XSL-FO
- Il faut fournir le document XSL-FO à un formatteur XSL-FO qui se chargera de transformer le document en un fichier PDF imprimable
3. Le document XSL-FO
Voici un exemple de document XSL-FO :
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set> [1]
<fo:simple-page-master [2]
master-name="simple"
page-height="29.7cm"
page-width="21cm"
margin-left="2.5cm"
margin-right ="2.5cm">
<fo:region-body margin-top="3cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simple"> [3]
<fo:flow flow-name="xsl-region-body"> [4]
contenu [5]
</fo:flow>
</fo:page-sequence>
</fo:root>
[1] : Afin de bien placer les composants du document sur la page, le formatteur XSL-FO nécessite de connaître certains informations
[2] : Ici sont définis les paramètres de la page (ici format A4 avec des marges latérales de 2,5cm)
[3] : L'élément page-sequence permet le support de la pagination complexe.
[4] : xsl-region-body est le corps principal du document.
[5] : Ici est défini le contenu du document. D'autres balises sont disponibles afin de définir le format du contenu (tableau, simple texte...).
4. Formatteur FO
L'un des formatteurs FO les plus répandu est FOP d'Apache. Il permet de créer des documents PDF à partir de fichiers XML, ou à partir d'une approche Objet (sous Java).
Un exposé ayant fait l'objet de cette technologie (dans le cadre des exposés Système de la promotion 2005 Informatique & Réseaux - Ingéniers2000), veuilez-vous y référer pour plus d'informations quant à son mode d'utilisation.
Des articles plus complets sur XSL-Fo sont aussi disponibles sur la page de liens.