RE: Binding output port of p:choose

>   Well, actually, I found something else.  If I change my pipeline
> to the following (that is, I externalize the p:identity from the
> p:when to its own step, with a *primary* output port 'result', see
> http://markmail.org/thread/7s45org2gulw6nzj for the original code):
> 
>     <p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
>                     xmlns:my="my-ns"
>                     name="pipeline"
>                     version="1.0">
> 
>        <p:output port="my-result">
>           <p:pipe port="result" step="s"/>
>        </p:output>
> 
>        <p:declare-step type="my:step">
>           <p:output port="result" primary="true"/>
>           <!-- was in the p:when before -->
>           <p:identity name="id">
>              <p:input port="source">
>                 <p:inline>
>                    <true/>
>                 </p:inline>
>              </p:input>
>           </p:identity>
>        </p:declare-step>
> 
>        <p:choose name="s">
>           <p:when test="true()">
>              <!-- p:identity was directly here before -->
>              <my:step name="my"/>
>           </p:when>
>        </p:choose>
> 
>     </p:declare-step>
> 
>   I then expect the primary output of my:step, named 'result', to
> be bound to an output port of p:choose with the same name.  But
> when I evaluate this pipeline with Calabash, I still get the same
> error: "XE0001: Unreadable port: result on s".

The implicit output ports on compound steps are always unnamed. They
don't inherit the name of the last step's primary output port. If you
want to refer to p:choose's output port by name, you have to provide an
explicit output port in p:when:

        <p:choose name="s">
           <p:when test="true()">
              <p:output port="result"/>
              <!-- p:identity was directly here before -->
              <my:step name="my"/>
           </p:when>
        </p:choose>

Hope this helps,

Vojtech

--
Vojtech Toman
Consultant Software Engineer
EMC | Information Intelligence Group
vojtech.toman@emc.com
http://developer.emc.com/xmltech

Received on Friday, 8 October 2010 12:13:12 UTC