- From: <Toman_Vojtech@emc.com>
- Date: Fri, 21 Nov 2008 08:13:51 -0500
- To: <public-xml-processing-model-wg@w3.org>
> > Shouldn't the text use "pipeline which contains the step" instead of
> > p:pipeline? The containing pipeline can be represented also by
> > p:declare-step, not only p:pipeline, so the text may be
> misleading that
> > this behavior applies only to p:pipeline.
>
> No, I don't think so. This clause really does only apply to
> p:pipeline.
>
> If you say
>
> <p:pipeline>
> ...
>
> you *implicitly* get an primary parameter input port named
> "parameters".
Ooops, I missed this somehow. I guess I have to fix this in our
implementation. Thanks for a bug report. :)
One question, though, just to be sure: If I use p:declare-step instead
of p:pipeline, and I declare a primary parameter input port there, we
don't manufacture the default binding to it in that case?
> > I am also wondering: how can anything be bound (be it only
> formally) to
> > p:sink which has no output ports?
>
> Consider this pipeline:
>
> <p:declare-step ...>
> <p:input port="source"/>
> <p:input port="params" kind="parameter"/>
> <p:output port="result"/>
> <p:identity/>
> </p:declare-step/>
>
> It's not valid because it has an unbound primary input port. But this
> one is fine:
>
> <p:declare-step name="main" ...>
> <p:input port="source"/>
> <p:input port="params" kind="parameter"/>
> <p:output port="result">
> <p:pipe step="identity" port="result"/>
> </p:output>
> <p:identity name="identity"/>
> <p:sink>
> <p:input port="source">
> <p:pipe step="main" port="params"/>
> </p:input>
> </p:sink>
> </p:declare-step/>
Ah, so it is about something connecting to the parameter input port, not
that the port must be connected to something. But I thought that inside
a compound step, you don't have to connect anything to the declared
input steps. Only when you *use* the step, you have to connect its input
ports to something... I thought that pipelines like the following would
run just fine (the compound step just ignores any data/parameters it
gets):
<p:declare-step ...>
<p:input port="source" primary="true"/>
<p:input port="another-source"/>
<p:input port="params" kind="parameter"/>
<p:output port="result"/>
<p:identity>
<p:input port="source"><p:document href="..."/></p:inline>
</p:identity>
</p:declare-step/>
Sorry, I am probaly just under attack of my recurring confusion about
what "connected" and "binding" actually means in XProc...
Regards,
Vojtech
Received on Friday, 21 November 2008 13:15:02 UTC