Jeff Turner wrote, On 29/06/2003 8.03: ...
I still have the feeling that a link-gatherer transformer is mixing concerns a bit, and that two-pass is conceptually nicer:
- We're abusing the name 'transformer', since nothing is transformed. If we're really going to go this way, let's define a new sitemap element, <map:link-gatherer/>.
There are transformers that do not transform, it's not unusual, although, since the sitemap has a new contract on links (see at the bottom), it might make sense.
- Link gathering is irrelevant for online situations, so we pay some performance penalty having a link-gatherer transformer. This illustrates why I think it mixes concerns.
Exactly.
- It's easy to forget to define a link-gatherer transformer for new pipelines. Link-view is cross-cutting and doesn't have this problem.
Again, exactly.
I'm not very familiar with the code; is there some cost in keeping the two-pass CLI alive, in the faint hope that caching comes to its rescue one day?
Actually it was three-pass.
http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=104013686220328&w=2
Thanks for engaging with me on this - I appreciate it.
Thank _you_; an improved CLI will make Forrest significantly more usable.
For your pleasure, and of interested parties, the previous threads:
http://marc.theaimsgroup.com/?t=102725710300001&r=1&w=2 http://marc.theaimsgroup.com/?t=104013701500006&r=1&w=2 http://marc.theaimsgroup.com/?t=104609314900002&r=1&w=2 http://marc.theaimsgroup.com/?t=104887033400005&r=1&w=2
And a couple of mails:
http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=104610949203967&w=2 http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=104679840022563&w=2 http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=104687731531754&w=2
The last mail in particular explains the current new-CLI method:
" So basically we are adding a contract to the sitemap, by saying that each sitemap implementation has to provide a list of links if requested to (as seen above). "
As you state, a Transformer does not feel right. In fact, a sitemap has now a new contract that it has to give links. The question is: how can it be made more versatile? Who can we tell the pipeline where we want the link gathering to occur?
What about a named pipeline that is inserted by the link gatherer where it gets the links? What about using a spacial label to indicate where to gather links?
Just food for thought.
-- Nicola Ken Barozzi [EMAIL PROTECTED] - verba volant, scripta manent - (discussions get forgotten, just code remains) ---------------------------------------------------------------------