- From: Norman Walsh <Norman.Walsh@Sun.COM>
- Date: Mon, 11 Sep 2006 12:37:32 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <87hcze9x6b.fsf@nwalsh.com>
/ ht@inf.ed.ac.uk (Henry S. Thompson) was heard to say: | Figure 2. A transform and serialize pipeline | | I _think_ this raises too many questions to come as only the second | example. I at least was quite baffled/worried at first, that a | 'Serialize' step was going to be necessary to get XML documents out | of pipelines. Then I realised you had included it because of the | 'all choose branches have same output port configuration' | constraint, but we _really_ don't want to go in to that at this | point in the doc't, do we? | | Why not use the test="/my:root/@version < 1.2" schema validate | example at this point? Ok. | 2.2 Inputs and Outputs | | I think we need to say here why it's _not_ a static error if an | output is connected to an input of with a different declared | cardinality, i.e. to explicitly explain that we decided it was ok to | connect a sequence-out to a singlelton-in, and only complain if the | sequence-out failed to produce exactly one document. Ok. | 2.3 Parameters | | How can a value other than a string "[be] given"? Did we decide | that parameters are specified with XPaths? If so, surely that | should be said here. Fixed, I think. | 2.4 Component graph | | "The inputs and outputs . . . _are_ the arcs of that graph" | [emphasis added]? Surely, as in the immediately following | definition, "... are connected by the arcs" is what is wanted? Uhm, yeah, probably :-) | 3 Language Constructs | | I'd prefer to have "for-each construct", "viewport construct", etc., | rather than "for-each component". | | 3.1 Pipeline | | I find the first sentence pretty baffling. . . I need to make a "terminology" pass. | | 3.2 For-Each | | Needs some brief motivation, I think, along the lines of | | "In cases where a component or sub-pipeline requires a single | document input, but a pipeline needs to process a sequence of | documents with that component, the for-each construct can be used." | | The term 'aggregation' is nowhere defined. I think nothing is lost, | and indeed we're better off, if the definition reads: | | The result of the for-each is a sequence of the documents produced | by processing each individual document in the input sequence. If | the for-each subpipeline declares multiple outputs, each output is | a sequence of the documents produced on that output by each | iteration. Ok. | 3.4 Choose | | Paras 1 and 5 seem to contradict each other wrt the presence of a | default. Clarified, I think. | 3.5 Try/Catch | | That word 'aggregation' again :-) Removed. | 4 Syntax | | I'm OK with using 'instantiate' to describe the relationship between | components and steps (although I'm still no sure about using | 'component' for both type and token throughout the first three | sections), but I would much prefer to talk about 'representing' or | 'encoding' a pipeline. . . Also in 4.2 Pipeline Vocabulary I need to make a "terminology" pass. | 4.1.1 Specified by URI | | Have we decided whether the schema type of the *href* attribute is | xs:anyURI or (list of xs:anyURI)? I _think_ I see no reason not to | support the latter. Makes the validate component much simpler -- I | just write | | <p:input port="schema" | href="http://www.example.com/myvocab | http://www.w3.org/2001/06/soap-envelope.xsd"/> I don't think we talked about it. Does anyone have qualms about making it a list of xs:anyURI? | 4.1.1 Specified by source | | The word 'ancestor' is not defined, or immediately obvious -- how | about | | ". . . must either be declared on some ancestor (e.g. an enclosing | _choose_ or _for-each_) or it must be. . ." Ok. | 4.1.1 Specified by here document | | More than one (non-document) child == sequence allowed? I don't think so. It would raise the problem of deciding where PIs and comments bind. | 4.1.2 Editorial Note | | Well, we did have step is instantiation of component, in turn | described by component declaration. | | We could have component for both type _and_ token, which is what you | seemed to be going for in section 3, with p:component-declaration | describing the type and p:component corresponding to an instance. | | But p:step is so nice and short . . . Yeah, it's all a bit of mess now. | 4.1.3 Syntactic shortcuts | | Arghh! Now we're calling choose a _user-defined_ component. Surely | not. Stick with 'construct', please! I think we're calling them step containers now. | [note here and elsewhere you haven't made up your mind wrt p:param | vs. p:parameter -- I vote for p:(declare-)parameter, because we're | going in the opposite direction from xslt, i.e. if we used p:param, | we'd have the following confusing paradigm: | | p:declare-param is to p:param as xsl:param is to xsl:with-param] Ok. | 4.2.1 p:pipeline Element | | [I'm only going to say this once :-] | | I'd much prefer | | "A p:pipeline represents a _pipeline_. Its children represent | declarations of the inputs, outputs and parameters that the | pipeline exposes and the _subpipeline_ that constitutes | its definition." Yeah. | 4.2.8 p:for-each Element | | The term 'aggregate' is nowhere defined, and I find it a bit opaque | at best and misleading at worst. How about replacing the last _two_ | sentences before the example with | | For each declared output, the processor will collect all the | documents that are produced for that output from all the | iterations, in order, into a sequence. Ok. Be seeing you, norm -- Norman Walsh XML Standards Architect Sun Microsystems, Inc.
Received on Monday, 11 September 2006 16:37:15 UTC