Calabash: non-primary input port erroneously connected?

I believe there is an error in the way Calabash handles non-primary
input ports. Running the following pipeline with Calabash 0.9.6:

<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:t="test"
name="pipeline">
 <p:input port="source">
  <p:inline>
   <inline-doc/>
  </p:inline>
 </p:input>
 <p:output port="result"/>

 <p:declare-step type="t:identity" name="iden-step">
  <p:input port="source-port" primary="false"/>
  <p:output port="result-port"/>

  <p:identity name="iden"/>

 </p:declare-step>

 <t:identity/>

</p:declare-step>

will return:
<inline-doc xmlns:t="test"/>

According to the XProc spec: "If a step has a single input port and that
port is explicitly marked “primary='false'”, or if a step has more than
one input port and none is explicitly marked as the primary, then the
primary input port of that step is undefined."

Since the single input port of step type t:identity is marked primary
false, I think the processor should not have connected it and should
have returned an error instead. Can someone confirm my assumption?

Tobias

Received on Tuesday, 31 March 2009 06:09:19 UTC