RE: Parameters

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

I see. But suppose your pipeline depends on a number of 3rd-party pipelines where each one uses its own (documented or not) parameter convention internally.

1. If two of these 3rd-party libraries happen to use p:parameters('') - or, by coincidence, p:parameters('foo') -, then they will get the same map of parameters. In some cases that may be the desirable behavior, but in general, I am afraid, it is not.

2. If you take the transitive closure of all the parameter map names used by all the nested/imported pipelines, wouldn't it effectively mean that the poor user would have to specify values for each of these maps on the command-line? But the user cannot know what the parameter map names are, as this is not obvious from the main pipeline.

Given that you have no control over the 3rd-party pipelines/libraries, I am worried that this may lead to completely unmaintainable mess.

Vojtech

--
Vojtech Toman
Consultant Software Engineer
EMC | Information Intelligence Group
vojtech.toman@emc.com
http://developer.emc.com/xmltech

Received on Friday, 21 February 2014 10:16:07 UTC