cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Duffin <>
Subject Re: [proposal] fixing the encoding problems
Date Wed, 19 Mar 2003 15:04:37 GMT
Gianugo Rabellino wrote:
> Stefano Mazzocchi wrote:
>> Paul Duffin wrote:
>>> A problem that I ran into was that Serializers do not have access to 
>>> the environment (Request / Response). This means that it is very hard 
>>> to write sophisticated Serializers.
>> For example? (I think FOP and batik are both pretty sofisticated 
>> serializers)
> Well... not that much actually: they are both ~200 lines of Java code 
> and all they do is delegate to the underlying framework the XML events 
> grabbing an OutputStream to write to. Agreed, SLOC are a sloppy metric 
> but then again...
> The real keyword, however, is not "sophisticated" in an algotithmic 
> sense but "context aware": if a Serializer is not a 
> SitemapModelComponent than there is no way it can decide based on 
> context, be it a Request or any other information. We've been through 
> this many times, and I wander from one side to the other so I have no 
> clear decision in mind...

You are correct I meant context aware.

>>> We worked around this by using it in conjunction with a Transformer 
>>> that was given the environment and simply passed it on to the 
>>> Serializer.
>> The problem with having an environment-dependent serializer is that 
>> the cache needs access to it because it might change its behavior 
>> depending on environment parameters.
> Can't parse this. Care to explain?

I guess the caching mechanism needs to decide whether the output from 
this request will be the same as the output from a previous request. If 
the output is context sensitive then the caching mechanism needs to use 
those parts of the request that affect the output as part of its key.

However this problem applies to any site map components that are context 
sensitive, not just serializers. I presume (I have not used the cache) 
that this problem has been solved already.

So while this possibly impacts the cost of making the changes it is not 
really an argument against allowing serializers to be context aware.

View raw message