© Glaus & Ruckstuhl TECFA Le Processeur Apache / FOP
© Glaus & Ruckstuhl TECFA Utilisation de FOP FOP marche avec Cocoon (pas toujours la dernière version) On peut créer des servlets FOP avec nimporte quel serveur Java On peut générer des fichiers PDF (et autres formats) en mode "batch" FOP est une classe Java 2, et une distribution binaire est disponible à lurl:
© Glaus & Ruckstuhl TECFA FOP à Tecfa avec Cocoon Le processeur FOP sutilise le plus souvent avec le processeur XSLT Le fichier XSL contient une processing instruction pour lélément racine et une définition du name- space
© Glaus & Ruckstuhl TECFA FOP avec Cocoon Fichier XML
© Glaus & Ruckstuhl TECFA FOP avec Cocoon Fichier XSL / Cocoon <xsl:stylesheet xmlns:xsl=" xmlns:fo=" version="1.0" > type="text/xslfo"
© Glaus & Ruckstuhl TECFA FOP en batch Installation Il faut installer un Java 2 (si ce nest pas déjà fait). Décomprimer larchive FOP binaire qq part dans votre système. Ensuite il faut chercher dans le répertoire ou se trouvent les archives ".jar utilisées ci-dessous. Ensuite faire/installer un fichier shell script pour lancer lapplication FOP qui se trouve dans la classe Java org.apache.fop.apps.Fop
© Glaus & Ruckstuhl TECFA FOP en batch Fichier fop.bat à placer dans c:\bin de Windows java -cp c:\soft\fop\bin\fop.jar;c:\soft\fop\bin\batik.jar;c:\soft\fop\bin\xalan jar;c:\soft\fop\bin\xerces jar;c:\soft\fop\bin\avalon-framework- 4.0.jar;c:\soft\fop\bin\logkit-1.0.jar org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8
© Glaus & Ruckstuhl TECFA Utilisation de FOP sur Solaris Ouvrir un terminal sur tecfasun5.unige.ch Aller jusquau répertoire où se trouvent les fichiers xml, xsl et dtd que vous allez utiliser pour Fop Taper fop dans le terminal suivi des arguments de lapplication
© Glaus & Ruckstuhl TECFA Arguments de lapplication FOP tapez "fop" dans un terminal [INPUT] infile xsl:fo input file (the same as the next) -fo infile xsl:fo input file -xml infile xml input file, must be used together with -xsl -xsl stylesheet xslt stylesheet [OUTPUT] outfile input will be rendered as pdf file into outfile -pdf outfileinput will be rendered as pdf file (outfile reqd) -awt input will be displayed on screen -mif outfile input will be rendered as mif file (outfile reqd) -pcl outfile input will be rendered as pcl file (outfile reqd) -txt outfile input will be rendered as text file (outfile reqd) -print input file will be rendered and sent to the printer see options with "-print help" [Examples] Fop foo.fo foo.pdf Fop -fo foo.fo -pdf foo.pdf (does the same as the previous line) Fop -xsl foo.xsl -xml foo.xml -pdf foo.pdf Fop foo.fo -mif foo.mif Fop foo.fo -print or Fop -print foo.fo Fop foo.fo -awt
© Glaus & Ruckstuhl TECFA Arguments de lapplication FOP Syntaxe: Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|- mif|-pcl|-txt|-print] Syntaxe pour créer un fichier pdf: fop -xml fichier.xml -xsl fichierfo.xsl -pdf fichier.pdf
© Glaus & Ruckstuhl TECFA Debogage de Schneider Pour trouver des erreurs logiques dans votre feuille de style, on conseille de produire du.fo avec un processeur XSL et ensuite de valider Sur Solaris on utilise la commande xslatefop qui fait appel au processeur Xalan xslatefop -IN fichier.xml -XSL fichierfo.xsl -XML > fichier.fo Sur PC on vous conseille donc de faire un 2ème fichier *.bat qui sappelle par ex, xslfop.bat et qui contient quelquechose off set JAVA_HOME=C:\soft\jdk1.3 set path=%JAVA_HOME%\bin;%path% REM echo path : %path% echo Traitement XSLT avec Java dans %java_home% REM TOUT LE RESTE DOIT SE TROUVER SUR UNE SEULE LIGNE !!! set CLASSPATH=c:\soft\fop\xalan jar;c:\soft\fop\xerces jar REM ON LANCE lapplication avec les arguments de la ligne de commande java org.apache.xalan.xslt.Process %1 %2 %3 %4 %5 %6 %7 %8