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