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

Re: Binding output port of p:choose

From: Florent Georges <fgeorges@fgeorges.org>
Date: Fri, 8 Oct 2010 13:02:36 +0100
Message-ID: <AANLkTi==rtqBiMVwT465+aVpoFAvUH7aZRi=P7o1TR8k@mail.gmail.com>
To: Olivier Jeulin <olivier.jeulin@gmail.com>
Cc: XProc Dev <xproc-dev@w3.org>
On 3 October 2010 22:15, Florent Georges wrote:
> On 3 October 2010 22:06, Olivier Jeulin wrote:

>> Here, p:identity has no *primary* output port, therefore p:choose isn't
>> connected to the result port.

>  He he, I've double checked this and the name of the identity step,
> but I missed that the output port had to be *primary*.  Indeed this
> solves my problem.

  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".

  Of course, if I add the following explicit binding in the
p:when, right before the <my:step name="my"/>, everything's fine:

    <p:output port="result">
       <p:pipe port="result" step="my"/>
    </p:output>

  Once again, it seems I missed something, but what?

  Best regards,

-- 
Florent Georges
http://fgeorges.org/
Received on Friday, 8 October 2010 12:03:33 GMT

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