W3C home > Mailing lists > Public > public-xml-processing-model-wg@w3.org > July 2006

Re: p:pipeline

From: Jeni Tennison <jeni@jenitennison.com>
Date: Thu, 27 Jul 2006 10:07:30 +0100
Message-ID: <44C88252.9080803@jenitennison.com>
To: public-xml-processing-model-wg@w3.org

Norm Walsh 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>
[snip]
> Of choices 3 and 4, I have a marginal preference for 4 but I could
> certainly live with 3. I like the recursive nature of 4 and the fact
> that modularizing the checkDocBook pipeline doesn't require exposing
> the locateSchema pipeline in the "public" API.
> 
> I concede that 3 has the advantage that you could imagine an xproc
> processor starting with any of the pipelines in the single document
> whereas in option 4, you really only get to start with the outer most
> pipeline; so if you wanted to be able to start with xform2HTML,
> xform2PDF, or main, you'd have to store them in three separate files.

There's another option:

5. A new container element *and* nested sub-pipelines

<p:pipelines>
   <p:pipeline name="main">...</p:pipeline>
   <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>

I think it's really important to have multiple invokable (and reusable) 
pipelines in a single file. Unless there's some way of invoking nested 
sub-pipelines from within another pipeline (?) then the only options, as 
far as I'm concerned, are 3 and 5.

Cheers,

Jeni
-- 
Jeni Tennison
http://www.jenitennison.com
Received on Thursday, 27 July 2006 09:17:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:21:48 GMT