On 09.08.2005 02:03, Vadim Gritsenko wrote:
* Serializers are allowed to implement SitemapModelComponent
* SitemapModelComponent has setup method
* setup() method passes src parameter - src attribute from the sitemap.
Now, from Cocoon design perspective, this is all legal and supported.
...
That "well documented and understood option of the XSLT specification"
was categorically rejected when designing Cocoon 2.x.
Can you send a link to that?
Having the serializers implementing SitemapModelComponent happened not
_that_ long ago:
http://thread.gmane.org/gmane.text.xml.cocoon.devel/26621. So there must
have been reasons to do not so before.
Wouldn't something like a TRAXSerializer add side effects to the
concept of sitemap serializers?
What would be the side effects? It's harder to implement side effects in
XSLT than in custom Java serializer.
But Java is harder to write than XSLT. Many design decisions in Cocoon
were made to heighten the barrier of abuse.
Introducing a trax serializer means that what you see in the sitemap
serializer declaration is only *part* of what is output. There is a
huge difference between the two, and I can see why Joerg was so upset.
* The svg2jpeg serializer always requires SVG input and always
provides JPEG output -- including the mime type of image/jpeg.
* The fo2pdf serizalizer always requires XSL:FO input and always
provides PDF output -- including the mime type of application/pdf.
FOPSerializer capable of producing PDF, PS, PCL, and (IIRC) more.
Capable yes, but not deciding dynamically. The pipeline knows the result
*before* the serializer has been executed, i.e. at setup time:
http://svn.apache.org/viewcvs.cgi/cocoon/blocks/fop/trunk/conf/fop.xmap?rev=179076&view=markup.
That's good practice, which does not go away with adding new serializer.
...
But I'd not call it best practice - as I mentioned previously.
...
Having tools to do it does not mean you should do it. As they say,
"Closed course, professional driver. Don't try it at home".
I still don't see why we should add a component to the Cocoon codebase,
where we know from the beginning that it is "not best practice" (better
formulation than my "problematic", but meaning the same).
Joerg