W3C home > Mailing lists > Public > xproc-dev@w3.org > October 2010

RE: Binding output port of p:choose

From: <vojtech.toman@emc.com>
Date: Fri, 8 Oct 2010 08:10:34 -0400
Message-ID: <997C307BEB90984EBE935699389EC41C026A546D@CORPUSMX70C.corp.emc.com>
To: <xproc-dev@w3.org>
>   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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 8 October 2010 12:13:12 GMT