- 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