Sylvain Wallez <sylvain <at> apache.org> writes:

> 
> KSM wrote:
> > Au sein de ma feuille LireMETS.xsp, je voudrai pouvoir récuper le resultat 
> > de
> > mon pipeline go_url.
> >   
> 
> Si par "récupérer" tu veux dire "inclure", alors la taglib util contient
> ce qu'il faut :
> 
> <xsp:page xmlns:xsp="http://apache.org/xsp";
>   xmlns:util="http://apache.org/xsp/util/2.0";>
>   <doc>
>     <util:include-source uri="cocoon://go_url"/>
>   </doc>
> </xsp:page>
> 
> Sylvain
> 

Sylvain Wallez <sylvain <at> apache.org> writes:

Bonjour,

Voici mon problème:

Je vais sur un fichier xml pour récuperer une URL pour un xml et un URL pour une
xsl.
Cette étape est effectuée grâce à 2 pipeline.

                <map:pipeline>
                        <!-- Récupération des URL dans le METS -->
                        <map:match pattern="ressourceXML/*">
                                <map:generate src="{1}mets.xml"/>
                                <map:transform src="recupXML-METS.xsl"/>        
        
                                <map:serialize type="text"/>
                        </map:match>
                </map:pipeline>
                <map:pipeline>
                        <map:match pattern="ressourceXSL/*">
                                <map:generate src="{1}mets.xml"/>
                                <map:transform src="recupXSL-METS.xsl"/>
                                <map:serialize type="text"/>
                        </map:match>
                </map:pipeline>

Je récupère quelque chose comme http://127.0.0.1/collections/corbie/corbie2.xml
pour la ressource XML et http://127.0.0.1/collections/corbie/acte.xsl pour la
ressource XSL.

Quel type de  sérialisation dois-je utiliser (puisque c'est comme 2 variables)?

Aprés j'utilise une feuille xsp pour attribuer ces 2 valeurs.

             <map:pipeline>
                <!--   ******** Debut de la partie XSP  ******  -->
                        <map:match pattern="*/*/*">
                                <map:act type="xsp-action" src="LireMets.xsp">
                                        <map:parameter name="collection" 
value="{1}"/>
                                        <map:parameter name="xml" 
value="cocoon:/ressourceXML/{1}"/>                                    
                                        <map:parameter name="xsl" 
value="cocoon:/ressourceXSL/{1}"/>
                                        <!-- <map:generate src="{leXML}"/> -->
                                        <map:generate src="{leXML}"/>
                                        <map:transform src="{leXSL}"/>  
                                        <map:serialize type="xml"/>
                                </map:act>
                        </map:match>                    
                        <!--  *******  FIN de la partie XSP  ******* -->

Lorsque je bascule ce résultat dans <map:generate src="{leXML}"/> où {leXML} =
http://127.0.0.1/collections/corbie/corbie2.xml, cocoon l'interpréte comme une
chaine de caractère "http://127.0.0.1/collections/corbie/corbie2.xml"; et non pas
comme une ressource !! Donc il m'affiche la chaîne "corbie/corbie2.xml" et non
pas le document.

Comment faire dans ce cas la?

Sinon, comment je pourrais convertir le stream <util:include-source
uri="cocoon://go_url"/> en chaîne de caractère?

J'espére d'avoir été assez claire sur les explications.

Cordialement.





---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]

Répondre à