Anonymous steps or defaulted names?

At the moment, we have anonymous steps and anonymous ports. I wonder
if instead we should say that unnamed steps/ports get default names
(that are interoperable).

For example, consider:

  <p:pipeline xmlns:p="...">
    <p:identity/>
  </p:pipeline>

It has two anonymous steps and two anonymous ports. Suppose instead
we said that the default name for an unnamed step is §nn where "nn"
is the number of its start tag and the default name for unnamed ports
is {stepname}-{porttype}-nn where nn is the port number.

Then the preceding is equivalent to:

  <p:pipeline name="§1" xmlns:p="...">
    <p:input port="§1-input-1"/>
    <p:output port="§1-output-1"/>
    <p:identity name="§2"/>
  </p:pipeline>

Maybe I've got some details wrong, that's a secondary question. The
primary question is "why would we do this?"

Three reasons:

1. It removes a concept from the spec; we don't have anonymity
   anymore.

2. If we adopt a MIME type/fragid syntax, it makes it possible to
   point to anonymous steps and ports. (In, for example, pipelines
   that are read-only.)

3. It encourages implementations to have more interoperable error
   messages ("Error in step '§5'..." instead of "Error in anonymous
   step 'd0143234'...").

Just a thought...

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | Everything should be made as simple as
http://nwalsh.com/            | possible, but no simpler.

Received on Tuesday, 7 August 2007 14:08:25 UTC