/ Richard Tobin <richard@inf.ed.ac.uk> was heard to say: |> The scope of the names of step types is the pipeline in which they occur. |> The in-scope names come from types that are: |> |> * Built-in to XProc (e.g., p:pipeline, p:choose, etc.) |> * Declared with p:declare-step (e.g, p:xslt, p:xinclude, etc.) |> in the pipeline or in a p:pipeline-library imported into the |> pipeline. |> * Defined with p:pipeline imported directly or in a p:pipeline-library |> imported into the pipeline. |> * Or built-in as extensions by a particular processor. | | I think this still doesn't cover everything. Surely the body of a | pipeline in a library can see the other steps and pipelines declared | in the library that contains it. Yes. And the more I think about it, the more I think maybe we really do want a single, global scope for step type names. How about: The scope of the names of step types is global. Step types are: * Built-in to XProc (e.g., p:pipeline, p:choose, etc.) * Declared with p:declare-step (e.g, p:xslt, p:xinclude, etc.) * Defined with p:pipeline * Or built-in as extensions by a particular processor. All the step types in a pipeline must have unique names: it is a static error (err:XS0036) if any step type name is built-in and/or declared or defined more than once. I think the only negative consequence of this decision is that two pipelines in a pipeline library that each import a different definition for a step type will cause an error where one is not, perhaps absolutely necessary. But we have namespaces to make such things unnecessary, right? Be seeing you, norm -- Norman Walsh <ndw@nwalsh.com> | Few men are so sufficiently discerning http://nwalsh.com/ | to appreciate all the evil that they | do.--La RochefoucauldReceived on Tuesday, 2 October 2007 14:16:31 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:21:54 GMT