I'll try to summarize what we've got so far (as far as I interpret this
thread :) ):

A VPC (virtual pipeline component) is like a macro (I didn't find a better
term);
it can contain matchers, selectors and actions.
A Virtual Generator must have a generator (and perhaps some transformers in
it), but no
serializer
A Virtual Transformer should have one or more transformers (but no generator
or serializer)
and
a Virtual Serializer can have one or more transformers and has to end with a
serializer.

I like Stefano's apprach for labels:

>here is my suggestion: a vpc is just syntax sugar, it should not change 
>the semantics. this means that internal labels should be treated as just 
>if they were external.
>
>the only issue is with collisions and here I think overloading should 
>apply: if the label is on the vpc and the vpc itself includes a 
>component that has the same label, the output of the whole vpc will be 
>sent to the view.

For parameter handling, I can quote Sylvain:
> Passing parameters to a VSC is very similar to passing parameters 
> to resources. There's however a special handling of the @src attribute
> that exists on generators and transformers, which does not exist on
resources.
>
>Example:
>
>Definition (syntax and exact location still has to be defined):
><map:virtual-generator type="foo">
> <map:generate src="{src}"/>
>  <map:act type="lang-select">
>    <map:transform type="i18n"/>
>  </map:act>
>  <map:transform type="xslt" src="stylesheets/{bar}.xsl/>
</map:virtual-generator>
>
>Usage:
><map:generate type="foo" src="blah">
>  <map:parameter name="bar" value="baz"/> </map:generate>

Apart from the syntax (which we could define last), I see only two open
points:
a) are VPCs inherited to sub sitemaps
I guess, we all say: "Sure"

b) (my favorite topic) Source Resolving
As long as the VPC is defined in the same sitemap as it is used, we don't
have a
problem, but if we answer question a) with yes, then we have a problem.
Look at the sample from Sylvain above, now imagine the Usage is in a
subsitemap.
So the src ("blah") should refer to a source that is relative to the sitemap
of the Usage. 
The VPC from above resolves two sources (the src and the stylesheet).
The stylesheet should imho be resolved relative to the sitemap where
the VPC is defined.

Now, a first approach would be: all resources of VPC are resolved relative
to the sitemap where the VPC is defined. And if a src information is passed
(for virtural generators or transformers) this src information is
resolved relative to the usage sitemap and then passed as an absolut
path to the VPC.

This works nicely as long as only the "src" attribute defines a resource
but not a paramaeter.

Thoughts
Carsten 

Carsten Ziegeler 
Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.net/weblogs/rael/

Reply via email to