PREVIOUS UP   Technologies Internet et Education, © TECFA
  6. Le processeur Apache / FOP

6. Le processeur Apache / FOP

6.1 FOP avec Cocoon1

Exemple 6-1: Un simple stylesheet XSLT + FO

Fichier XML
<?xml version="1.0"?>
<?xml-stylesheet href="hello-page-xslfo.xsl" type="text/xsl"?>
<?cocoon-process type="xslt"?>
Fichier XSL / Cocoon
<?xml version="1.0"?>
<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:fo="http://www.w3.org/1999/XSL/Format"
  version="1.0" >
 
<!-- rule for the whole document: root element is page -->
 
<xsl:template match="page">
    <xsl:processing-instruction name="cocoon-format">type="text/xslfo"
    </xsl:processing-instruction>
 
 <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
>
  <fo:layout-master-set>
.......
 <!-- Definition of a page sequence -->
 <fo:page-sequence master-name="first">
  <fo:flow flow-name="xsl-region-body" font-size="14pt" line-height="14pt">
    <xsl:apply-templates/>
  </fo:flow>  
 
 </fo:page-sequence> 
</fo:root>
 
</xsl:template>

6.2 FOP en batch

A. Installation

Exemple 6-2: Fichier fop.bat à placer dans c:\bin de Windos

@echo off
set JAVA_HOME=C:\soft\jdk1.3
set path=%JAVA_HOME%\bin;%path%
REM echo path : %path%
echo Traitement FOP avec Java dans %java_home%
REM TOUT LE RESTE DOIT SE TROUVER SUR UNE SEULE LIGNE !!!
set CLASSPATH=c:\soft\fopiib\xalan-2.0.0.jar;c:\soft\fopiib\jimi-1.0.jar;c:\soft\fopiib\jimi-1.0.jar;c:\soft\fopiib\xerces-1.2.3.jar;c:\soft\fop\fop.jar
REM ON LANCE l'application avec les arguments de la ligne de commande
java org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8
 

Note: c\bin doit se trouver dans le path ! Dans la distribution il y a un fichier.bat à adapter.

Utilisation sur Solaris à TECFA
  • Taper "fop" dans un terminal (sur tecfasun5)

B. Arguments de l'application FOP

Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-txt|-print] <outfile>

 
 [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 outfile      input will be rendered as pdf file (outfile req'd) 
  -awt              input will be displayed on screen 
  -mif outfile      input will be rendered as mif file (outfile req'd)
  -pcl outfile      input will be rendered as pcl file (outfile req'd) 
  -txt outfile      input will be rendered as text file (outfile req'd) 
  -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 

 

Exemple typique pour faire tu xml + xsl -> (fo) -> pdf:

fop -xml fichier.xml -xsl fichier-style.xsl -pdf beau-resultat.pdf

 

 

Debogage

xslatefop -IN programme.xml -XSL programme-fo.xsl -XML > t.fo
@echo 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\fopiib\xalan-2.0.0.jar;c:\soft\fopiib\xerces-1.2.3.jar
REM ON LANCE l'application avec les arguments de la ligne de commande
java org.apache.xalan.xslt.Process %1 %2 %3 %4 %5 %6 %7 %8

PREVIOUS UP -- TIE