2006 August 2
The XML Processing Model WG held a face-to-face meeting 2006 August 2-4.
We accepted the agenda for this f2f.
We accepted the minutes of 27 July 2006.
We agreed to cancel next week's telcon; our next telcon will be August 17.
We looked at Norm's example in email. The first pipeline uses names on steps and then compound names on outputs (using the ref attribute). The second pipeline uses names on outputs and declare-outputs and uses refs with simple names to connect the outputs with declare-outputs.
We then spent a fair amount of time discussing how to structure and refer to inputs/outputs of chooses.
At least for the present, we have decided that:
sourcewhich will be a URI reference to a web resource
refwhich will point to a port within the current pipeline
!(but possibly some other non-name, ascii character).
Port names and references are scoped by the component that defines them.
We decided that we would allow ref/source on choose to specify the context for the when tests; one can also have ref/source on when's that override that (if any) on the choose; finally one doesn't need to specify a context at all if the xpath tests on the when's don't require a context. (Henry would like, in the future, to be able to have the output of the last step be the default context, but we are holding defaulting to later.)
It is an error for any choose or when to have both
source assigned. It is an error for the
ref attribute to return zero or more than one document.
We had an extended discussion that seguéed into other questions such as whether inputs can have selects.
We decided (at least for the moment):
<for-each name="x"> <input port="primary" ref="..." [select="..."]/> <declare-output port="result"/> <iteration-input port="chap"/> <iteration-output ref="b!c" aggregation-ref="result"/> <step name="b" kind="xxx"> <input port="document" ref="x!chap"/> . . . </step> </for-each>where “c” is some output port declared on components of type xxx.
We then agreed that the declare-output above is obvious and can be omitted (and, therefore, we will perhaps require it to be omitted in the final syntax).
Let the minutes record that about half the august assembly felt the above was terribly gross, but some (including your faithful scribe) felt this was the most understandable proposal discussed during the day.
Though we had previously decided (based on Richard's suggestion) that steps don't need output statements, Norm suggested we allow (optionally) the (appropriate) output statement on which we'd allow some attribute(s) to indicate that the given output is tossed (without error) and/or how to serialize it.
Issue: It is unclear how to provide the documents produced by other steps in your pipeline to an xquery or xslt component as a collection. (It is unclear whether we need to solve this in V1.0 of the pipeline language.) This led to a discussion of a possible “resource” element that mapped URIs to ports and to issues of running the pipeline in document order.