Carsten Ziegeler wrote:
Your're German, right? Always trying to make a clean cut? ;-)Nicola Ken Barozzi wrote:Carsten Ziegeler wrote:Sylvain Wallez wrote:[...]You're totally on track. If you need this action right now, I would suggest to mimic what's in the DirectoryGenerator, that makes the assumption that the Source is a file. You can then use all the facilities given by File.And we only argue, if this support should belong to the Source interface or too an optional extension interface where I always have to do an instanceof to see if the source has childs or not. :)It's nice when discussions are about where to put something new, it's always goodness :-)Yupp!MHO: It all depends on what a Source is. 1 - If a source is a plug to a URI-based source handler, it should have children. 2 -If it's a plug to a resource, it should not. Usually a source is (2), but since we bind the Source to a URI, (1) makes more sense. BTW, if (2) is true, specific Sources should probably not be the place anyway where to traverse a URI space, or else we are in case (1).So you tend to {1}, right?
Define what a Source is and you will have the answer... if the source interface has anything to do with a URI, it's {1}, else {1} is not it's concern, but a concern of who gave you the Source, hence it would be {2}.
Also, a source should IMNSHO do stream2xml conversion. It should pipe directly XML *only* if the source is itself already in xml form, like for example a precompiled SAX stream or a direct plugged in SAX stream (for example in the future bean env). This makes the whole system more flexible, because we can easily change Generators to make the stream2xml conversion phase pluggale. If we make sources do all the conversion, we are back to Generators, and I don't see the real benfit other than syntatic sugar...Sorry, you totally lost me..(what is IMNSHO?)
InMyNotSoHumbleOpinion
Errr, the context is that, yes. My point is that a *Generator* should do the stream to sax conversion, not the source. This maintains cleaner SOC.A source by itself has nothing to do with XML or sax events. A source can still implement the XMLizable interface for sax streaming. We have the Cocoon SourceResolver which has a toSAX() method for a Source object. This method checks for the XMLizable interface. If the source implements it, it's used. If not, the XMLizer component from excalibur is used which does a mime-type to sax conversion and is therefore pluggable. Is it that what you meant?
If a Source *is* XML, then implementing XMLizable makes sense (XMLDB).
If it's not, it doesn't, because a Generator should do it.
--
Nicola Ken Barozzi [EMAIL PROTECTED]
- verba volant, scripta manent -
(discussions get forgotten, just code remains)
---------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]