Re: Revisiting "fixing parameters"

"Toman, Vojtech" <vojtech.toman@emc.com> writes:
> It works because both "parameters" options on p:pipeline and p:xslt are maps.
>
> Suppose that p:pipeline is equivalent to this:
>
> <p:declare-step>
>   <p:input port="source">
>   <p:output port="result"/>
>   <p:option name="parameters" inherit="true" type="map(*)"/>
>   ...
> </p:declare-step>
>
> and that the declaration of p:xslt looks as follows:
>
> <p:declare-step type="p:xslt">
>   <p:input port="source" sequence="true" primary="true"/>
>   <p:input port="stylesheet"/>
>   <p:output port="result" primary="true"/>
>   <p:output port="secondary" sequence="true"/>
>   <p:option name="parameters" type="map(*)"/>
>   ...
> </p:declare-step>
>
> then because the "parameters" option of p:pipeline is declared as
> inherit="true", the following pipeline will just auto-bind the
> "parameters" option of the p:xslt step to it:
>
> <p:pipeline>
>   <p:xslt/>
> </p:pipeline>
>
> The last missing bit is that the specification of p:xslt would say
> that the parameters for the stylesheet are taken from the "parameters"
> map.

That's definitely interesting. One question that I have immediately is
which end of the connection specifies inheritance.

Does the pipeline specify that it's parameters are inherited down or
do the steps specify that they inherit from above? Or both?

                                        Be seeing you,
                                          norm

-- 
Norman Walsh
Lead Engineer
MarkLogic Corporation
Phone: +1 512 761 6676
www.marklogic.com

Received on Thursday, 6 December 2012 14:56:13 UTC