Determining whether a pipeline has a (defaulted) output

A pipeline with no output declarations has an output if its last step
does.  Its last step may be a call to another pipeline, so we have to
determine whether that has an output.  Now consider:

<p:pipeline-library xmlns:p="http://www.w3.org/ns/xproc" 
                    xmlns:e="http://example.org" namespace="http://example.org">
<p:pipeline name="pipe1">
  <e:pipe2/>
</p:pipeline>

<p:pipeline name="pipe2">
  <p:choose>
    <p:when test="foo">
      <p:identity/>
    </p:when>
    <p:otherwise>
      <e:pipe1/>
    </p:otherwise>
  </p:choose>
</p:pipeline>

</p:pipeline-library>

(Does anyone have an implementation that can handle it?)

We can deduce that both pipe1 and pipe2 have an output, because
otherwise the choose would have inconsistent outputs, but that seems
a rather undesirable way to proceed.

-- Richard

Received on Monday, 1 October 2007 15:56:36 UTC