Carsten Ziegeler pisze:
> Hmm, no, I don't think so :(
> I think most of the relevant code is in the SitemapHelper class.

Thanks, I'll have a look.

>> Is the context really changed for each sax events? I thought that cocoon: 
>> protocol creates some kind
>> of derived environment for each cocoon: call and this way (some) separation 
>> is assured.
>>
>> Can you point me to relevant place?
> It's in the SitemapSource. There is a special sax event wrapper which is
> placed around the receiving sax handler:
>     EnvironmentHelper.createEnvironmentAwareConsumer(consumer)
> So for each sax event the environment is changed back and forth.

You are right. Argh, SitemapSource is even more complicated than I thought...

>> I agree. The servlet: protocol does buffering but it does something more: it 
>> serializes and parsers
>> XML each time servlet request is made. This really affects performance and 
>> must be changed but it's
>> not that hard and the change would limited to only cocoon-servlet-* modules.
> Yepp, I think we should support the extensions of the
> HttpServletResponse which we discussed
> a long time ago and which can be found in the processor module of our
> whiteboard.
> The buffering could be a recording of sax events with the sax buffer.

I was discussing very similar idea with Leszek at GT and he expressed interest 
in implementing such
behaviour for respone/request classes used by servlet protocol. Leszek, do you 
still plan to
implement this in a foresable future?

When it comes to the request being SAX aware there is a small problem. There 
was a common agreement
that we should implement fall-back mechanism in case that called servlet does 
not support SAX-aware
request/response combo. The fall-back mechanism would work the way as 
reqest/reponse classes work
now so the incoming SAX stream is serialized into request's body and produced 
SAX stream is
serialized to response's body. However, at the same time we agreed that we 
would like to forward
request data (including parameters, uploaded files) from original request. Then 
there is a clash
between data coming from SAX events and uploaded files that must be included in 
the same request
body. I don't know any good solution for this problem apart from encoding 
serialized SAX stream as
another uploaded file.

Any ideas on this?

-- 
Grzegorz Kossakowski
Committer and PMC Member of Apache Cocoon
http://reflectingonthevicissitudes.wordpress.com/

Reply via email to