Re: p:pipeline

On 7/26/06, Norman Walsh <Norman.Walsh@sun.com> wrote:
> It seems to me there are four choices:
>
> 1. No sub-pipelines at all.
>
> 2. Only external sub-pipelines.
>
> 3. Some new container element for sub-pipelines:
>
>    <p:pipelines>
>      <p:pipeline name="locateSchema">...</p:pipeline>
>      <p:pipeline name="checkDocBook">...</p:pipeline>
>      <p:pipeline name="xform2HTML">...</p:pipeline>
>      <p:pipeline name="xform2PDF">...</p:pipeline>
>      <p:pipeline name="main">...</p:pipeline>
>    </p:pipelines>
>
> 4. Allow nested sub-pipelines:
>
>    <p:pipeline name="main">
>      <p:pipeline name="checkDocBook">
>        <p:pipeline name="locateSchema">...</p:pipeline>
>      </p:pipeline>
>      <p:pipeline name="xform2HTML">...</p:pipeline>
>      <p:pipeline name="xform2PDF">...</p:pipeline>
>      ...
>    </p:pipelines>

Norm,

The term sub-pipelines is somewhat confusing to me. I would distinguish:

1) Inner pipeline: a pipeline declared inside another pipeline (like
inner functions or inner classes in some programming languages). This
is option 4 in your email.

2) Calling a pipeline from a pipeline: this is option 2 in your email.

Even if I love inner functions and inner classes, for all the
pipelines that I have been writing during that last few years, I have
never felt the need for inner pipelines. Hence my take of not adding
inner pipelines to the language, unless we have strong use cases. If
we are not quite sure yet, we can wait and we'll always have the
option of adding a construct for inner pipelines in the future.

Unlike inner pipeline, there a number of use cases where calling a
pipeline from a pipeline is needed. But we don't necessarily need to
add something to the language for that. Arguably, it would even be
more elegant not add something to the language. Why would we have a
special construct to call a pipeline, vs. say an XSLT stylesheet.
Running a pipeline could be done by invoking a 'pipeline' component in
a step, just like to run a stylesheet we invoke an 'xslt' component in
a step.

Alex
-- 
Blog (XML, Web apps, Open Source):
http://www.orbeon.com/blog/

Received on Wednesday, 26 July 2006 22:37:55 UTC