Variables and Options

In thinking about the proposed idea to just make parameters local, it seems
to me that what we say about "options and variables" sharing the same scope
could be harmonized.  If they share the same scope, then it is really the
same set of name/value pairs.  The difference is just where they can be set
(e.g. options come in from the "outside").

Couldn't we just say there are a set of in-scope variables and options set
these explicitly and locally for any contained sub-pipeline?

In the case of p:declare-step with a contained sub-pipeline, an option
value just sets the name/value pair in the new variable scope.  The
trickier bit comes in when describing the set of options provided to a step
invocation.  That is, only options explicitly set on the step should be
passed to the step invocation and there shouldn't be any magical access to
the step's current variable scope.

It is certainly hard to describe to new users that variables and options
are in the same scope and can shadow each other but then are different in
possibly subtle ways.  That feels like something we can improve.

[1] http://www.w3.org/TR/xproc/#variables

-- 
--Alex Milowski
"The excellence of grammar as a guide is proportional to the paucity of the
inflexions, i.e. to the degree of analysis effected by the language
considered."

Bertrand Russell in a footnote of Principles of Mathematics

Received on Tuesday, 1 October 2013 16:34:54 UTC