- From: Norman Walsh <ndw@nwalsh.com>
- Date: Fri, 19 Sep 2008 11:24:17 -0400
- To: James Garriss <james@garriss.org>
- Cc: XProc Dev <xproc-dev@w3.org>
- Message-ID: <m21vzgf9b2.fsf@nwalsh.com>
James Garriss <james@garriss.org> writes: > I suppose the former is wrong because the WD says in 5:4: ³It is a static > error (err:XS0029) to specify a binding for a p:output inside a > p:declare-step for an atomic step.² > > So why is the first way an error and the second ok? They look about the > same to me. Conceptually, in order to make the data flow from one step to another, you have to connect the output end of a pipe on the first step to the input end of a pipe on the second step. You could do this by: 1. Labelling each output port with the name of the input port to which it should be attached. 2. Labelling each input port with the name of the output port to which it should be attached. 3. Allowing both kinds of labels. The WG decided that option 3 was too confusing. I don't recall off the top of my head precisely how we arrived at option 2 instead of option 1, but we did. Having decided that inputs will point to outputs, it's entirely redundant to allow p:output on an atomic step. The declaration already says what output ports it has so the p:output can't provide any new information. Requiring it to be present would be onerous and verbose. Allowing to to optionally be present is verbose introduces unnecessary variation in the syntax. So we forbid it. Even if Calabash currently gets that part wrong :-) Be seeing you, norm -- Norman Walsh <ndw@nwalsh.com> | All knowledge is of itself of some http://nwalsh.com/ | value. There is nothing so minute or | inconsiderable, that I would not rather | know it than not.--Dr. Johnson
Received on Friday, 19 September 2008 15:25:01 UTC