> From: Christian Haul [mailto:[EMAIL PROTECTED]] > > On 09.Jun.2002 -- 07:53 PM, Jonathan Layes wrote: > > Hi all, > > > > I have a recurring theme in a few of my sitemaps and, although I > > have solved the problem, I'm not particularly happy with the solution. > > Here's the problem in pseudo-sitemapese: > > > > <map:match pattern="*.html"> > > <map:act desc="an action to be applied to all xhtml"> > > > > <map:match pattern="a*.html" desc="source A-prefixed xhtml"> > > <map:generate/> > > <map:transform/> > > </map:match> > > > > <map:match pattern="b*.html" desc="source B-prefixed xhtml"> > > <map:generate/> > > <map:transform/> > > </map:match> > > > > <map:match pattern="*.html" desc="source of all other xhtml"> > > <map:generate/> > > <map:transform/> > > </map:match> > > > > <map:transform desc="a common template to apply regardless of > source"/> > > <map:serialize/> > > </map:act> > > </map:match> > > > > The above doesn't work when coded with matchers. C2 falls through > > the nested matches, hits the generic case and obviously throws > > an exception because it tries to call a second generator. > > That sounds like a bug. Although I'm probably not the right person to > help finding it, it would be important to provide more information, > like the version of Cocoon you're running and the actual sitemap > snippet plus sitemap.log for this case.
Nope, this is not a bug. Sitemap works this way, breaking execution on first serialize. Vadim > > There are some obvious solutions to this problem. One is to copy > > the common transform and serialize stages into each of the > > nested matches, forcing C2 to stop processing in the individual > > nested matches. Slightly cleaner is to put the final transform/ > > serialize step in a resource and have each of the nested matches > > call the resource. I really don't like the finality of resources, > > however - they feel too much like goto statements. > > > > What I think I want to do here is use the "if-then-else" processing > > model of selectors. Choose only one of the a*, b* or * patterns, > > generate the xhtml, and finish by applying the final transform/ > > serialization regardless of source. > > Look for a switch selector. I'm not aware whether it's in 2.0.3 or > HEAD only. AFAIR it was invented for such a case. > > Chris. > > -- > C h r i s t i a n H a u l > [EMAIL PROTECTED] > fingerprint: 99B0 1D9D 7919 644A 4837 7D73 FEF9 6856 335A 9E08 --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>