AurÃlien DEHAY wrote:
Le lundi 18 avril 2005 Ã 10:36 +0200, Sylvain Wallez a Ãcrit :
On peut utiliser le directory generator pour avoir la liste des fichiers xml, et transformer cette liste en une sÃrie d'inclusions d'url "cocoon:" (transformer xinclude) qui vont dÃclencher l'enregistrement de tous les fichiers.
Hmmmm.... L'idÃe, si j'ai bien compris, est, sur un rÃpertoire qui
contient 1.xml, 2.xml et 3.xml, lancer un Âtruc pour avoir 1.pdf, 2.pdf
et 3.pdf.... Il y a moyen de faire Ãa sans flowscript? Je vois mal
comment le xinclude pourrait rÃsoudre le problÃme.
<map:pipeline> <!-- gÃnÃration d'un PDF --> <map:match pattern="{1}.pdf"> <map:generate src="data-dir/{1}.xml"/> <map:transform src="data2fo.xsl"/> <map:serialize type="fo2pdf"/> </map:match>
<!-- copie d'un pdf gÃnerà sur disque, et production d'une petite page de rapport -->
<map:match pattern="copy-pdf-*.html">
<map:act type="copy-source" src="cocoon://{1}.pdf">
<map:parameter name="dest" value="pdf-dir/{1}.pdf"/>
</map:act>
<map:generate type="jx" src="success.jx">
<map:parameter name="filename" value="{1}"/>
</map:generate>
<map:serialize type="html"/>
</map:match>
<!-- On gÃnÃre tout -->
<map:match pattern="generate-all.html">
<!-- liste de tous les fichiers xml -->
<map:generate type="directory" src="data-dir"/>
<!-- on transforme en une sÃrie de <xi:include href="cocoon://copy-pdf-xxx.html"/> -->
<map:transform src="dir2include.xsl"/>
<!-- on rÃalise l'inclusion qui par effet de bord va copier les fichiers sur disque -->
<map:transform type="xinclude"/>
<!-- et on prÃsente joliement la liste des fichiers qui ont Ãtà gÃnÃrÃs -->
<map:transform src="result2html.xsl"/>
<!-- terminÃ! -->
<map:serialize type="html"/>
</map:match>
</map:pipeline>
Voilà voilà ;-)
Sylvain
-- Sylvain Wallez Anyware Technologies http://apache.org/~sylvain http://anyware-tech.com Apache Software Foundation Member Research & Technology Director
--------------------------------------------------------------------- Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
