RE: Implicit parameter input on p:pipeline

> / Toman_Vojtech@emc.com was heard to say:
> | Since the p:pipeline now always contains an implict "source" input 
> | port and an implicit "result" output port, I wonder if the 
> same cannot 
> | be done with the parameter inputs.
> |
> | Section 2.5 says:
> |
> | "Additionally, if a p:pipeline does not declare any parameter input
> 
> Hmm, that should probably read "p:pipeline or p:declare-step" now.
> 
> | ports, but contains a step which has a primary parameter 
> input port, 
> | then an implicit primary parameter input port (named 'parameters') 
> | will be added to the pipeline. (If the pipeline declares an 
> ordinary 
> | input named 'parameters', the implicit primary parameter input port 
> | will be named 'parameters1'. If that's not available, then 
> 'parameters2', etc.
> | until an available name is found.)"
> |
> | Cannot this be changed to something like:
> |
> | "All p:pipeline pipelines have an implicit primary parameter input 
> | port named 'parameters'. Any parameter input ports that the 
> p:pipeline 
> | declares explicitly are in addition to this port and may not be 
> | declared primary."
> 
> It could, but I don't think it would be less confusing. I 
> don't expect explicit parameter ports to be needed very often 
> and probably almost never on a p:pipeline.

Are you sure? For me, one of the most typical pipelines looks as
follows:

<p:pipeline type="preview">
  <p:input port="stylesheet"/>
  <p:input port="parameters" kind="parameter"/>

  <p:xslt>
    <p:input port="stylesheet">
      <p:pipe step="preview" port="stylesheet"/>
    </p:input>
    <!-- the "parameters" port will be bound to the primary parameter
input port of the pipeline -->
  </p:xslt>
</p:pipeline>

The pipeline just takes a sequence of XML documents and applies a
(parametrized) XSLT stylesheet to them. The thing is that I can rewrite
it also as follows: 

<p:pipeline type="preview">
  <p:input port="stylesheet"/>

  <p:xslt>
    <p:input port="stylesheet">
      <p:pipe step="preview" port="stylesheet"/>
    </p:input>
  </p:xslt>
</p:pipeline>

In which case the primary parameter input port on the pipeline will be
manufactured automatically. This is fine, only that it makes developing
XProc-based application more difficult. In the latter case, the
application does not explictly know what parameter input port to use for
passing the XSLT parameters to the pipeline.

Regards,
Vojtech

--
Vojtech Toman
Principal Software Engineer
EMC Corporation

Aert van Nesstraat 45
3012 CA Rotterdam
The Netherlands

Toman_Vojtech@emc.com 

Received on Monday, 28 January 2008 08:48:06 UTC