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

Hierarchical Steps

From: Alex Milowski <alex@milowski.org>
Date: Thu, 11 May 2006 07:57:35 -0700
Message-ID: <446350DF.6030905@milowski.org>
To: public-xml-processing-model-wg@w3.org

One of the nice features I have in smallx is the ability to nest
steps within steps.  In many ways, this maps to attaching a
sub-pipeline to the output of a particular step.

Since I have a directed syntax, each step can determine whether or
not it can nest steps and so this is easy to specify.  Put the syntax
issue aside for a moment...

The really nice thing about having hierarchy is that you can easily
nest sub-pipeline that have some scoping of inputs, outputs, and
parameters.  That scoping can be very handy when you are writing
complex processes.

In the flow graph, this amounts to attaching some number of
"compiled" steps to the output of the component.  As such, the nesting
is really some aspect of syntax that is shorthand for something
that is far more complicated to specify manually.

One way to do this with the generic syntax is to allow outputs
to have children:

    <p:step name="p:xslt">
       <p:input name="source" ref="..."/>
       <p:input name="stylesheet" ref="..."/>
       <p:output name="result">
           <p:step .../>
           <p:step .../>
           <p:step .../>
           <p:step .../>
       </p:output>
    </p:step>

This would be equivalent to the output of the step (the 'result' name)
be attached to a sub-pipeline and the output of that sub-pipeline
replacing 'result' in the main pipeline.

Obviously, with multiple inputs and outputs, this becomes more
complicated.  ...but if done well, this could be very, very useful.

--Alex Milowski
Received on Thursday, 11 May 2006 14:57:51 GMT

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