RE: Port declaration problem in Calabash

> However, if I add a parameter port to the eb:copy pipeline as follows:
> 
>   <p:declare-step type="eb:copy">
>         <p:input port="source"/>
>         <p:input port="parameters" kind="parameter"/>
>         <p:output port="result"/>
> 
>     <p:identity/>
>   </p:declare-step>
> 
> and supply it with some input in my main pipeline:
> 
>     <eb:copy>
>       <p:input port="parameters">
>         <p:inline>
>           <c:data content-type="text/plain">foo</c:data>
>         </p:inline>
>       </p:input>
>     </eb:copy>
> 
> Then only the first .xml file in the source folder is 
> processed, and the 
> pipeline fails with the following message:
> 
> Error  : Pipeline failed: err:XS0035: null  It is a static 
> error if the 
> declaration of a parameter input port contains a binding; parameter 
> input port declarations must be empty.
> 
> Am I misunderstanding something, or is this a bug in Calabash 
> (0.9.14)?

Looks like a bug to me. In your case, you should not get err:XS0035,
because the *declaration* of the parameter port (in the declaration of
the eb:copy step) *does not* contain a binding. What you are doing is
that you are providing a runtime binding for the parameter input, and
that is something else.

But your example also is not ompletely correct: because you bind the
parameter input to a c:data document, you will get a dynamic error (most
likely err:XD0018) because either c:param or c:param-set is expected.

Regards,
Vojtech

Received on Wednesday, 5 August 2009 11:33:27 UTC