If you start adding the environment, this is not true anymore and we must cache *BOTH* the pipeline output (as xml) and the serializer output (as binary) because their ergodicity can be different.
This is the only concern I'm having.
If enough people believe this is a small price to pay, well, I'll turn my -1 into a -0 for giving Environment access to the Serializers.
Given that caching seems to be an almost-non-issue and that we seem to be pretty convinced that this would not break the overall design, here's +1 to add SitemapModelComponent to serializer into SitemapModelComponent. Of course we have to take into account a migration path for all the existing serializers (though it should be enough to add empty impls to AbstractSerializer: AFAIK every concrete Serializer in Cocoon inherits from it).
Ciao,
-- Gianugo Rabellino Pro-netics s.r.l. http://www.pro-netics.com