Hi Nick, yes you should be able to handle errors in your subsitemap. I'm not really sure why the processingexception is not unrolled.
For the project we've already handled a couple of other exceptions, so it should work. Regards, Jeroen Reijn -----Original Message----- From: [EMAIL PROTECTED] on behalf of [EMAIL PROTECTED] Sent: Fri 4/4/2008 11:27 AM To: [email protected] Subject: [HippoCMS-dev] Handling errors in sub sitemap This is a crosspost from the cocoon list, maybe someone here knows anything about Cocoon error handling. I've tried following the explanation on handling errors with cocoon [1], but I can't get it working like I expect. I've a main sitemap in which sits a pipeline: <map:match pattern="external/**"> <map:mount src="site://external/sitemap.xmap" uri-prefix="external" /> </map:match> And I have a external/sitemap.xmap which contains: <map:match pattern="data"> <map:generate src="repository:default://data/messages.xml" /> <map:transform src="site://transformers/external/data.xsl" /> <map:serialize type="xml" /> </map:match> This site map can throw a java.net.MalformedURLException inside a ProcessingException. So I've created a selector: <map:components> <map:selectors> <map:selector name="exception" src="org.apache.cocoon.selection.ExceptionSelector"> <exception name="processing" class="org.apache.cocoon.ProcessingException" unroll="true" /> <exceptions name="malformedurl" class="java.net.MalformedURLException" /> </map:selector> </map:selectors> </map:components> I tried putting the selector inside the subsitemap and created a handle-errors: <map:handle-errors> <map:select type="exception"> <map:when test="processing"> <map:generate src="resource://processing.xml" /> <map:serialize type="xml" /> </map:when> <map:when test="malformedurl"> <map:generate src="resource://malformedurl.xml" /> <map:serialize type="xml" /> </map:when> </map:select> </map:handle-errors> This piece I tried putting inside the <pipeline> that contains the data matcher and inside the <pipelines> element that contains the data matcher. This two options didn't work. Then I tried putting the selector and the handle errors in the <pipelines> element which contains my mount part. And there it only handled the ProcessingException part and not the malformed url part. I'm using Cocoon 2.1.11. Can errors be handled in the sitemap where they are generated, even though the sitemap is mounted? Why is my processingexception not being unrolled? Hope someone can help, Nick S. [1] http://cocoon.apache.org/2.1/userdocs/concepts/errorhandling.html ******************************************** Hippocms-dev: Hippo CMS development public mailinglist ******************************************** Hippocms-dev: Hippo CMS development public mailinglist
