Ce que tu as ecrit m'a l'air correct, et je ne vois pas comment pourquoi
cinclude serait geré differement, par contre, ton code n'est peut etre pas
au bon endroit ?
essaye peut etre de mettre le map:handle-errors a la fin du pipe contenant
le cinclude

Marc

Le 24/02/07, Patrick Thomas <[EMAIL PROTECTED]> a écrit :

Merci de ta réponse Marc,
merci aussi à Jean-Baptiste.

Les deux techniques (Cinclude et flow-attr) fonctionnent bien. J'ai pris
celle que tu m'as proposée (Cinclude) parce que j'avais aussi à inclure
du contenu dynamiquement.

Sans vouloir abuser, sais-tu si les Cinclude posent un problème
particulier pour faire remonter les exceptions vers le sitemap ?

Je construis un JXTemplate (ici je le simplifie pour que ce soit plus
lisible) :

        <map:match pattern="affiche">
                   <map:generate type="jx" src="affiche_template.xml"/>
            <map:transform type="cinclude"/>
            <map:transform src="stylesheets/unStyle.xsl"/>
            <map:serialize/>
         </map:match>

Dans le template il y a un Cinclude avec une source externe dynamique
récupérée d'une CForm via un flowscript :

        <cinclude:include src="${source dynamique externe http://...}"/>

Si l'utilisateur écrit une source inexistante, je récupère deux
exceptions possibles :

        java.io.FileNotFoundException
        java.net.UnknownHostException

Je n'arrive pas à capturer ces exceptions au niveau du sitemap. J'ai
écrit ça :

<map:components>
<map:selectors default="browser">
<map:selector name="exception"
src="org.apache.cocoon.selection.ExceptionSelector">

   <exception name="fileNotFound" class="java.io.FileNotFoundException"/>
   <exception name="unknownHost" class="java.net.UnknownHostException"/>

</map:selector>
</map:selectors>
</map:components>

et de manière globale :

        <map:handle-errors>
           <map:select type="exception">
              <map:when test="fileNotFound">
                 <map:generate src="uneReponse.xml"/>
                 <map:serialize/>
              </map:when>
              <map:when test="unknownHost">
                 <map:generate src="autreReponse.xml"/>
                 <map:serialize/>
              </map:when>
            </map:select>
        </map:handle-errors>

Mais cela ne tourne pas. Il y a sûrement quelque chose que je n'ai pas
compris.

Patrick

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


Reply via email to