XSL (eXtensible Stylesheet Language) est une famille de spécifications du W3C qui comprend :
– XSL-FO (pour XSL Formating Objects, langage de présentation).
– XPath (langage pour adresser des parties de documents XML).
– XSLT (pour XSL Transformations, langage de transformations).
La première des spécifications est de loin la moins connue, car la moins bien prise en charge à l’heure actuelle.
Il existe quelques projets qui tentent de l’implémenter, mais il n’y a, à cette heure, aucune implémentation totale de la norme. Le projet qui se détache du lot est FOP.
FOP est un projet soutenu par la fondation Apache, c’est un produit OpenSource (Licence Apache 2.0).
Le projet n’est pas récent, mais il a pendant longtemps été mis en sommeil. Récemment, il a été entièrement repensé et aujourd’hui il semble s’approcher de la version stable utilisable en production, selon l’annonce qui en a été faite le mois dernier lors de la sortie de la version 0.92 beta.
Comme dans de nombreuses communautés Open Source, la communauté autour de FOP est très active et la réactivité de l’équipe de développement permet une avancée très rapide dans la résolution des bugs, et dans l’aide aux utilisateurs.
FOP permet de créer, comme indiqué plus haut, des PDF, mais aussi des fichiers au format PostScript, RTF, Bitmap, texte brut par exemple. Cependant la sortie PDF demeure la mieux supportée et la plus utilisée.
Choisir le format XML pour créer ses fichiers PDF, c’est faire le choix d’une interopabilité future optimale. Clever Age utilise FOP pour la génération dynamique de PDF de qualité professionnelle, le tout piloté depuis une interface web (un démonstrateur sera bientôt mis en ligne sur notre site).