Re: Parameters

Toman, Vojtech writes:

> I guess what I am after is whether the pipeline declares the
> parameter maps that it 'accepts' in any way.

No, that doesn't seem necessary.

> Is the idea that the unnamed ('') parameter map is always available
> on any pipeline, and if you want additional parameter maps (for
> example, 'struct'), the pipeline must declare an option named
> 'struct' of type map, something like below?

No, it's all just a matter of documentation, as far as I understand
it.  You can write p:parameters('xyzzy') anywhere, at any time, and
either the user passed in some parameter bindings grouped under that
name, or they didn't.

> Also, what about pipelines invoking other pipelines? Suppose a
> pipeline A invokes a pipeline B. How does A pass parameters to the
> parameter map '' of B? (I assume that for named parameter maps, such
> as 'struct', you would simply use <p:with-option
> name='struct'.../>.)

Parameters are _only_ bound at the edge of the whole XProc engine.
There's no notion of 'passing' parameter maps around as such.  They're
just always there, immutable, accessible via p:parameters.

_If_ you as pipeline author want to build/combine/remove-from
parameter maps, then yes, you use p:parameters() to put them in a
variable, pass them as the value of an option, etc.  Then it's
entirely up to you how you modify them and pass them along.

ht
-- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
                       URL: http://www.ltg.ed.ac.uk/~ht/
 [mail from me _always_ has a .sig like this -- mail without it is forged spam]

Received on Friday, 21 February 2014 09:48:59 UTC