- From: Norman Walsh <ndw@nwalsh.com>
- Date: Tue, 02 Oct 2007 10:16:19 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <m2fy0tob4c.fsf@nwalsh.com>
/ 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 Rochefoucauld
Received on Tuesday, 2 October 2007 14:16:31 UTC