: Génération de documents
Apache™ FOP (Formatting Objects Processor) permet de générer un document formaté à partir d'un document XML. En effet, FOP est un formateur qui utilise le langage XSL-FO et une sortie indépendante du formateur. C'est une application Java qui lit un arbre d'objet formaté (FO) et génère les pages sous un format de sortie spécifié. Les formats de sortie actuellement supportés sont PDF, PS, PCL, AFP, XML, Print, AWT, PNG, RTF et TXT.
La maquette
À priori, un type de document donné est déjà prédéfinit par l'usage. Le support : le format (A4 p. ex.), ses dimensions. Les quatre marges, l'en-tête, le corps, le pied de page. Les bordures : types, épaisseurs. La palette de couleurs : les tons et les nuances. Les polices de caractères : famille, taille, graisse, … Le texte : paragraphes, césures, …
L'identifiant des éléments XML
Le placement des données XML sur la maquette. Une feuille de style XSLT génèrera un document XML contenant l'identifiant de chaque élément et attribut du document XML source. Certains identifiants seront placés sur le maquette afin de lever toute ambiguïté. Certains autres permettront la traduction de données.
La quantité de données
La feuille de style XSL doit pouvoir générer un document vide, ne contenant aucune données; puis un petit document de quelques pages; et enfin un document comportant quelques centaines de pages. Suivant le formatage à mettre en œuvre, l'algorithme n'est pas toujours trivial.
Le prototype
Avant la mise en production, des tests seront réalisés à partir d'un prototype et d'un échantillon de documents XML. bien choisis.
Puis les tests sont réalisés en production.
Les améliorations
Des améliorations peuvent être apportées afin d'augmenter la vitesse de production des documents et de diminuer la quantité de mémoire nécessaire.
Le langage XML peut adopter plusieurs formes. Les documents XML peuvent être transformés dans le format MicroXML par exemple.
L'utilisation des langages XSL et XSL-FO peut être retravaillée.
Le processeur XML Xerces2 Java, le processeur XSL Xalan-Java, le processeur XSL-FO FOP admettent des paramètres permettant d'optimiser les traitements XML.
Les librairies SAX, DOM, XSL de Java ont besoin d'être bien connues afin de s'approprier leurs capacités.
Le standard XProc, implémenté par Calabash par exemple, peut être utilisé dans le but de choisir un processeur particulier pour chaque étape de traitement d'un document.
Finalement, la génération de document demande une attention particulière pour être menée à bien.