Vadim Gritsenko wrote:

> Excellent summary! I will try to address some of your questions below.

Thanks. I'll try to reply to my best.

> >  - direct -> generator, transformer, serializer, aggregator, reader
> >  - indirect -> action
> >  - support -> matcher, selector, mount, redirector
> 
> From the text below, you are assuming that actions do not perform
> pipeline routing. As of now, they do this, that's why nesting is
> allowed for actions. If action returns not-null map, body of action
> is executed. The question is whether we live it as implemented - then
> action should be moved into "support" group; or actions to be changed.

Very good point. Changing behavior would ruin back-compatibility, so
let's change the grouping:

 direct -> generate, transform, serialize, aggregate, read
 indirect -> act, match, select, mount, redirect

is this any better?

> > A pipeline may contain *all* components at the first level.
> >
> > <note who="sm">having 'mount' and 'redirect-to' as first level
> > components doesn't make really sense, but it doesn't hurt either so
> why
> > should we limit it?</note>
> 
> I'm for KISS here also; let's drop these artificial limitations.

Agreed.
 
> > <question who="SM">what happens when the client has already received
> > part of the request (say during aggregation?)</question>
> 
> The discussion had taken place on this, intermediate output stream was
> suggested to avoid "committed response":
> http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=99828709211581&w=2
> and
> http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=99442091111980&w=2

Hmmmm, did you guys thought about using 'chuncked HTTP'?
 
> >
> > <question>should we allow matchers in aggregator's parts?</question>
> >
> 
> I do not see why not. They are very similar to selectors and I suggest
> them to be allowed in the same place where selectors are allowed,
> and vise verse. Same for actions if they are recognized as support
> components.

Ok, good point. Do you see any problem in the future for this?

> > Token Expansion
> > ---------------
> >
> > The expansion syntax follows XSLT attribute-value templates and uses
> the
> > curly braces syntax.
> 
> Where expansion syntax is allowed? Possible places are:
> + src attribute (generate, transform, mount, ...)
> + uri-prefix attribute (mount)
> + pattern attribute (match)
> + uri attribute (redirect-to)
> + mime-type attribute (read)
> + test attribute (select/when)
> + value attribute (parameter)
> + name attribute (parameter)

What about 'all attributes' in the default namespace of elements in the
sitemap namespace?

> > For example, a 'content view' of a resource could return the XML
> content
> > before transformations, or a 'schema view' could return a schema that
> > can be used to validate the content returned in the 'default view'.
> The
> > 'semantic view' might return a resource description document, the
> > 'hyperlink view' might return the list of hyperlinks that start from
> > that resource, etc...
> >
> > Views describe terminating pipeline fragments and must not contain a
> > generator since it's the original pipe that performs as generator.
> 
> I have a question on this one. Suppose you have quite expensive (cpu,
> memory, and non cacheable to top this) generator, and want to invoke
> schema view. Does it mean that this generator will be invoked? Even if
> schema of the resource could be as simple as static schema file?
> Same for link generator: you might want different generators
> to handle default and links views. Example:
> + Default view:
>  <map:generate src="xmldb:dbxml:///db/document"/>
> + Links view:
>  <map:generate
> src="xmldb:dbxml:///db/document#//*[@xlink:type='simple']/@xlink:href"/>
> (to give an idea...)

Again, very good point, but the real question should be: is the above a
resource view or is another resource entirely?
 
> > Structure Validation
> > --------------------
> >
> > The sitemap should be checked for structure inconsistencies or
> mistakes
> > at load-time.
> >
> > Checks include:
> >
> >  1) all handled requests must pass thru a (generator|serializer) pair
> or
> > a reader.
> 
> What is meant by "all handled requests"? I guess it is requests that
> result in at least one direct component.

It means "all requests that enter a pipeline" and yes, thus result in at
least one direct component touched.

Of course I forgot to say that pipelines without direct components are
illegal.

-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<[EMAIL PROTECTED]>                             Friedrich Nietzsche
--------------------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to