Re: Naming ports vs. naming documents

> |   <step type=3D"validate" name=3D"val">
> |     <input name=3D"source" from=3D"in"/>
> |     <input name=3D"schema" from=3D"whatever1"/>
> |   </step>
> |   <step type=3D"xslt" name=3D"ss">
> |     <input name=3D"source" from=3D"val.result"/>
> |     <input name=3D"stylesheet" ref=3D"whatever2"/>
> |   </step>
> 
> I think you still want to make the outputs explicit:
> 
>   <step type=3D"validate" name=3D"val">
>     <input name=3D"source" from=3D"in"/>
>     <input name=3D"schema" from=3D"whatever1"/>
>     <output name=3D"result"/>
>   </step>
>   <step type=3D"xslt" name=3D"ss">
>     <input name=3D"source" from=3D"val.result"/>
>     <input name=3D"stylesheet" ref=3D"whatever2"/>
>     <output name=3D"result"/>
>   </step>
> 
> otherwise you can't (easily) have a component that produces two output
> streams.

I'm assuming that there's a component description somewhere with the
signature of the component in it.  The XSLT component has "source" and
"stylesheet" inputs and a "result" output, so all instances of the
XSLT component have them.  There is no need for any ports to be
mentioned in the pipeline except to connect them up.  In the syntax
above I chose to have the inputs name the outputs they were connected
to; I could have done it the other way round.  In fact, the connections
could be specified quite separately:

 <step type="validate" name="val"/>
 <step type="xslt" name="ss"/>
 <pipe from="val.result" to="ss.source"/>

which has a nice explicitness, but I doubt it would be popular.

> I think I like it. Though I think I'd be inclined to do the syntax
> just a little differently:

The "step.port" syntax was not intended to be a real proposal, just
something to convey the idea.

--  Richard

Received on Friday, 28 April 2006 13:50:50 UTC