RE: CR draft ready for review

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