I'm not sure if that behaviour was is by design or not - I'd suggest that
you
post an "is this correct sitemap behaviour" on the dev list, being sure to
include which version you're using.

In the meantime, if you want your sub-sitemap to handle unmatched requests,
you can put a generic match at the end of the pipeline:

<map:match pattern="**">
    <map:generate src="foo.xml"/>
    <map:transform src="error.xsl"/>
    <map:serialize type="html"/>
</map:match>

where the foo.xml is a hack to allow you to use the same style sheet to
process
not found the same as error.  it ought to have real, but short xml in it.
<foo/> might do
as the whole contents of the file.

Geoff

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Monday, December 16, 2002 3:34 AM
> To: cocoon-users
> Subject: RE: problem with the sitemap and patterns
>
>
> Ok, the problem it's a bit more clear, now.
>
> My custom sylesheet is only executed if I force the error:
>
> <map:pipeline>
>    <map:match pattern="index.html">
>       <map:read src="index.html"/>
>    </map:match>
>    <map:match pattern="dir1/dir2/index.html">
>       <map:read src="index.html"/>
>    </map:match>
>    <!-- force an error -->
>    <map:match pattern="*.html">
>       <map:read src="{1}.html"/>
>    </map:match>
>    <map:handle-errors>
>       <map:transform src="error.xsl"/>
>       <map:serialize type="html"/>
>    </map:handle-errors>
> </map:pipeline>
>
> It seesms that Cocoon performs my handle-errors only if it finds
> an error WHILE processing a match pattern.
> Whithout the <map:match pattern="*.html">, my error.xsl isn't executed.
>
> I think this is a Cocoon bug ...
>
> > From what I understand, you should have seen your expected custom
> > stylesheet.  Are you certain it's finding your error.xsl, and are you
> > certain there are no problems with it?  Look in sitemap.log - trace the
> > request as it's being processed.
> >
> > Geoff
> >
> > > -----Original Message-----
> > >
> > > Well, maybe what I supposed to know about pipelines and matchers is
> > > wrong, but ...
> > >
> > > <map:match pattern="mysite/**">
> > >   <map:mount check-reload="yes" reload-method="synchron"
> > > src="mysite/sitemap.xmap" uri-prefix="mysite"/>
> > > </map:match>
> > >
> > > and the mounted pipeline is something like:
> > > <map:match pattern="index.html">
> > >   <map:read src="index.html"/>
> > > </map:match>
> > > <map:match pattern="dir1/dir2/index.html">
> > >   <map:read src="index.html"/>
> > > </map:match>
> > > <map:handle-errors>
> > >   <map:transform src="error.xsl"/>
> > >   <map:serialize type="html"/>
> > > </map:handle-errors>
> > >
> > > Now, if I call
> > > http://localhost:8080/cocoon/mysite/index.html
> > > or
> > > http://localhost:8080/cocoon/mysite/dir1/dir2/index.html
> > > it works
> > >
> > > but if I try
> > > http://localhost;8080/cocoon/mysite/anything.html
> > > I get the well known white page with the blu header "Cocoon 2 -
> > > Resource not found",
> > > while I expected to find my custom error page.
> > >
> > > Coccon processes a request which begins with "mysite" and,
> according to
> > > the "2 asterisks rule", the mounted pipeline is executed.
> > > But there isn't a pattern that matches the request, an error occurs.
> > > So why my custom handler isn't processed?
> > >
> > > Where I'm wrong?
> > >
> > > Cocoon 2.0.3 - Tomcat 4.1.12 - j2sdk1.4.0 - Win2k server
>
>
>
> ---------------------------------------------------------------------
> 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]>
>
>
>


---------------------------------------------------------------------
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]>

Reply via email to