Naming ports vs. naming documents

Just to summarise what we were disussing at the end of yesterdays telcon:

In my pipeline proposal I described the pipeline in terms of
connections between ports of components.  An obvious way to do this is
to give names to each port of a component instance and specify a
port's connection by the name of the port at the other end.

Since each connection passes a document (or sequence of documents, but
let's ignore that for now) it would be possible instead to specify the
connections by giving the documents names, which might be URLs, and
specifying the document consumed or produced by each port.

That doesn't make any difference in itself, but the named-document
approach raises the possibility of referring to the documents other
than as the inputs and outputs of components - in other words, through
a resource manager.

A related issue: in my proposal I blurred the distinction between
components and components instances ("steps").  I gave names to
component ports.  To connect up steps, you could either give names to
the ports of the steps - as in the examples Norm and others have posted -
or you could refer to them by the step name and the component port.
That is, you could either do:

  <step type="validate">
    <input name="source" ref="in"/>
    <input name="schema" ref="whatever1"/>
    <output name="validated" label="vout"/>
  </step>
  <step type="xslt">
    <input name="source" ref="vout"/>
    <input name="stylesheet" ref="whatever2"/>
    <output name="result" label="xsltout"/>
  </step>

or

  <step type="validate" name="val">
    <input name="source" from="in"/>
    <input name="schema" from="whatever1"/>
  </step>
  <step type="xslt" name="ss">
    <input name="source" from="val.result"/>
    <input name="stylesheet" ref="whatever2"/>
  </step>

The second approach may reduce the number of arbitrary names you have
to invent.

-- Richard

Received on Friday, 28 April 2006 11:40:53 UTC