- From: Richard Tobin <richard@inf.ed.ac.uk>
- Date: Tue, 2 Oct 2007 13:44:02 +0100 (BST)
- To: Norman Walsh <ndw@nwalsh.com>, public-xml-processing-model-wg@w3.org
> 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. Here's a concrete example: pipeline.xml: <p:pipeline xmlns:p="http://www.w3.org/ns/xproc"> <p:declare-step name="one"/> <p:import href="lib1.xml"/> <!-- a --> </p:pipeline> lib1.xml: <p:pipeline-library xmlns:p="http://www.w3.org/ns/xproc" namespace="http://example.org"> <p:declare-step name="two"/> <p:import href="lib2.xml"/> <p:pipeline name="three"> <p:declare-step name="four"/> <!-- b --> </p:pipeline> </p:pipeline-library> lib2.xml: <p:pipeline-library xmlns:p="http://www.w3.org/ns/xproc" namespace="http://example.org"> <p:declare-step name="five"/> <p:pipeline name="six"> <p:declare-step name="seven"/> <!-- c --> </p:pipeline> </p:pipeline-library> Which names are in scope at points a, b, and c? I assume it should be a: one, two, three, five, six b: two, three, four, five, six c: five, six, seven -- Richard
Received on Tuesday, 2 October 2007 12:45:12 UTC