OK je commence à m'en sortir de XInclude
est il possible de melanger des appels aggregate et generate comme ce qui suit (pour l'instant ca marche pas!)
ou doit on mettre tous les fichiers dans include-decription.xml ?
<map:pipeline internal-only="true">
<map:match pattern="resultatsEGC">
<map:generate type="jxtemplate" src="include-description.xml">
<map:parameter name="prefix" value="{request-param:gene}" />
</map:generate>
<map:transform type="xinclude" />
</map:match>
</map:pipeline>
<map:pipeline>
<map:match pattern="*.egcinfo.xml">
<map:aggregate element="EGC">
<map:part src="POSIT/{1}.rsegc.xml" />
<map:part src="SNPINFO/{1}.xml.temp" />
<map:part src="cocoon:/resultatsEGC" />
</map:aggregate>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
merci
Christophe
liste de discussion cocoon francophone ? ... bien sur si xmlfr ne suffit plus !
> Non : quand on fait une aggrégation, cocoon n'aime pas quand une des
> sources n'existe pas :-)
>
> La solution se trouve donc bien dans le XIncludeTransformer [1], qui
> permet de définir un "fallback" si une resource incluse n'existe pas.
>
> Ton <map:aggregate> va donc devenir :
> <map:generate type="jxtemplate" src="include-description.xml">
> <map:parameter name="prefix" value="{1}"/>
> </map:generate>
> <map:transform type="xinclude"/>
>
> avec include-description.xml contenant:
>
> <TOTAL xmlns:xi="http://www.w3.org/2001/XInclude">
> <xi:include href="${cocoon.parameters['prefix']}.xml">
> <xi:fallback/>
> </xi:include>
> <xi:include
> href="autrefichier_${cocoon.parameters['prefix']}.xml">
> <xi:fallback/>
> </xi:include>
> <xi:include href="REP/minimum.xml"/>
> </TOTAL>
>
> L'utilisation du générateur JXTemplate [2] permet de construire une
> liste d'inclusion calculée (on reporte {1} comme paramètre
> "prefix"), et
> le <xi:fallback/> vide permet de ne rien ajouter si le
> fichier n'existe
> pas mais ne lève pas d'erreur.
>
> Tu verras aussi dans la doc du XIncludeTransformer qu'on peut
> faire une
> extraction XPath à la volée avec un
> href="include.xml#xpointer(/le/chemin/xpath)"
>
> Voilà voilà, le cocooner de service a encore frappé :-)
>
> Sylvain
>
> [1]
> http://cocoon.apache.org/2.1/userdocs/transformers/xinclude-tr
ansformer.html
[2] http://cocoon.apache.org/2.1/userdocs/flow/jxtemplate.html
--
Sylvain Wallez Anyware Technologies
http://www.apache.org/~sylvain http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Wed Jan 19 14:25:40 2005