- From: Henry S. Thompson <ht@inf.ed.ac.uk>
- Date: Wed, 21 Mar 2007 17:16:15 +0000
- To: public-xml-processing-model-wg <public-xml-processing-model-wg@w3.org>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 So here's my reasoning/proposal for the environment. (I'm going to concentrate on only two uses to which it is/can be put: a) bounding the set of candidate bindings for input ports (_readable ports_); b) determining the binding for the primary input if none is specified explicitly (_default readable port_). I think the paramater/option and prefix issues are simpler, and don't require the same care. . .) The environment for every step is determined by three things: 1) The environment for its containing subpipeline; 2) Its own p:parameter, p:import-parameter, p:option and p:ignore-prefixes declarations; 3) Its position in its containing subpipeline, first or later. The environment for a subpipeline is determined by two things: 1) The environment of its containing compound step; 2) The idiosyncratic semantics of that particular compound step. Here's how it think it goes: The environment of every step is constructed from the environment of its containing subpipeline by a) adding/replacing(?) params, options and prefixes based on its own markup in the obvious way; b) If it is not first in its containing subpipeline: If the preceding step has only one declared output, or an output marked as the default, make that the _default readable port_, otherwise remove any existing _default readable port_. (otherwise the _default readable port_ is unchanged) The environment for a subpipeline is constructed from the environment of its containing compound step as follows: a) The union of all the declared outputs of the contained steps are added to the _readable ports_; b) Any step-specific changes are done. On this basis, we can state the following invariants: 1) A step's input port is always bound to a _readable port_ from the environment for that step; 2) A compound step's output port is always bound to a _readable port_ from the environment of its subpipeline. And the following defaulting rules: 1) An unspecified primary input for a step is defaulted to the _default readable port_ of its environment; 2) An unspecified primary output for a compound step is defaulted to what would be the _default readable port_ from the environment of a step after the last step in its subpipeline. I think this all is clean and straightforward, but involves a number of slight changes to the _status quo_. ht - -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh Half-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) iD8DBQFGAWhfkjnJixAXWBoRAhWBAJ9xWsHG4AkDSIgxBe0EGL4a1BilJQCfYOgx f1v3Wz6GSmz96eNPw0aWBMc= =8Ocq -----END PGP SIGNATURE-----
Received on Wednesday, 21 March 2007 17:16:26 UTC