- From: Florent Georges <fgeorges@fgeorges.org>
- Date: Fri, 8 Oct 2010 13:02:36 +0100
- 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 UTC