- From: Norman Walsh <Norman.Walsh@Sun.COM>
- Date: Thu, 04 May 2006 12:33:29 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <87psitvjfq.fsf@nwalsh.com>
See http://www.w3.org/XML/XProc/2006/05/04-minutes.html W3C[1] - DRAFT - XML Processing Model WG Meeting 19, 4 May 2006 Agenda[2] See also: IRC log[3] Attendees Present Alessandro, Andrew, Henry, Michael, Norman, Paul, Richard, Rui, Alex, Murray Regrets Erik, Mohamed Chair Norm Scribe Norm Contents * Topics 1. Accept this agenda? 2. Accept minutes from the previous teleconference? 3. Next meeting: 11 May telcon 4. Face-to-face meeting 5. Open action items 6. Issue 3113: Does the pipeline engine act as a resource manager? 7. Issue 3118: Should an implementation of the language be allowed to perform caching? 8. Issue 3114: Are explicit dependencies required? 9. Face-to-face meeting * Summary of Action Items ---------------------------------------------------------------------- Accept this agenda? -> http://www.w3.org/XML/XProc/2006/05/04-agenda.html Accepted Accept minutes from the previous teleconference? -> http://www.w3.org/XML/XProc/2006/04/27-minutes.html Accepted Next meeting: 11 May telcon Any regrets? Andrew is on vacation 11, 18 May Michael is away for 11, 18, 25 May Paul is away 11 May Henry is away 18 May Face-to-face meeting Registration: http://www.w3.org/2002/09/wbs/38398/XProcFTF2/[6] Local arrangements: http://www.w3.org/XML/XProc/2006/08/02-04-f2f.html[7] That's the beginnings of a local arrangements page, more details to follow Open action items A-18-01 is continued A-17-02 is in progress A-13-01 is continued, new ETA 15 June 2006 Issue 3113: Does the pipeline engine act as a resource manager? ->http://www.w3.org/Bugs/Public/show_bug.cgi?id=3113 Richard: I posted a couple of messages today, but looking at the example the email was talking about: XSLT importing a document produce somewhere else. ... This is a conventional temporary file problem ... Simply store things in files with generated names and then convey that name elsewhere. ... There are other examples, such as XIncluding things. ... You can simply transform the documents to refer to the generated file names. ... As a concrete proposal for the temporary file system; I suggest a component that takes a document as input, stores it somewhere, and returns the URI that it used. Alex: Do we have to do anything about this? Norm: I don't think consensus is moving towards support for this proposal HT: We'll need to spec quite carefully our story about pipeline parameters, variables, and their relationship to component and step variables. ... We've been postponing that for some time. But to make the workarounds work most gracefully, that mechanism is going to have to be there. Proposal: No, the pipeline engine is not required to act as a resource manager. Accepted Norm asks HT to expand on his pipeline/parameter variable story HT: Consider that I want to do something like this: take the output of Richards write input to temp file component and mediate between that and a component that will substitute the value into a document. ... I have a general purpose component that has two parameters, an XPath and a string. Wherever the XPath matches, it replaces what it finds with the string. ... The obvious thing to do is set the value of attributes or the text content of elements. ... Now I can get very close to doing the XInclude example if only I can get the result of Richards temporary component into a variable so that I can get it into a parameter. ... That's appealing to some fairly natural concepts of pipeline variables and ways of using pipeline variables to supply component parameters Alex: I wanted to second what Henry said. This is an important use case for lots of piplines I've built. I need to be able to bind to variables in a uniform way and be able to point into documents and update them. ... Deleting whole subtrees is an example. ... Renaming elements and attributes, namespaces, etc. Norm: I think it's important to make sure that we get the framework right to support all the kinds of components that we need. <scribe> ACTION A-19-01: Norm to create an issue for this [recorded in http://www.w3.org/2006/05/04-xproc-minutes.html#action01[9]] <scribe> ACTION A-19-02: Alex to send mail describing his ideas about variables [recorded in http://www.w3.org/2006/05/04-xproc-minutes.html#action02[10]] Richard: I wanted to mention a relationship between variable mechanisms and one of the issues that came up with the resource manager issue. ... If some component writes something to a temporary file, it's important that a component consuming it not try to read it before it's done. ... Using a variable to communicate the location of the temporary files gives you a mechanism for managing that. ... If a component can't start before the variable is set, then the process is managed by that variable. ... You might use variables for other kinds of synchronization as well if we did that. Norm: From the end of this discussion last week, how do we identify the inputs and outputs. By naming the endpoints or the things that flow through the pipe. ... From the list, I think consensus is moving towards identifying the end points. HT: Having worked for a while with the alternative, I think this is the right thing to do but we need to live with it for a while. ... It's not as immediately obvious to see what a graceful surface syntax is going to be. Alex: Internally, this is the right model. I'm just not convinced that there aren't cases where there are implicit connections to happen. ... But I'm willing to push that off to the future. HT: Absolutely. ... You don't want to see any of the low-level stuff at the authoring level Richard: Abbreviation still leaves the question of what to do for the low-level syntax. ... Recall that there are two ways to do this: by having names on each input/output or by naming the steps and having standard names for the inputs/outputs on each component Alex: We can work on the shortcuts after we have a full syntax. Richard: I think you're basically right. There's an obvious back-door into a resource manager if you give all the inputs/outputs names that are URIs. Norm expresses some concern about readability of a naming scheme that relies on knowledge of the underlying component input/output names. <ht> Unabbreviated abstract syntax consists of: Component((String)shortName, (ImplDependent)functionality, (Set of String)inputPorts, (Set of String)outputPorts, (Set of String)parameters) - --------------- Pipeline((Set of Component)components, (Set of String)parameters, (Set of Step)steps, (Set of Pipes)pipes, (InputPort)input?, (OutputPort)output?) Step((String)name, (Component)component, (Set of Binding)arguments) Pipe((OutputPort)source, (InputPort)destination) Port((String)step, (String)port) OutputPort == Port such that port is in |step|.component.outputPorts InputPort == Port such that port is in |step|.component.inputPorts Binding == ExplicitBind((String)name,(String)value) | BindByRef((String)name,(String)parameter) where parameter is in surrounding pipeline.parameters Invoke a pipeline with input?, output? and (Set of ExplicitBinding). Extracted by scribe from 2006May/0012.html[11] HT: Definition of a component in some implementation independent way HT: A step is a binding to a component HT: A pipe is a connection from an orgin to a destination ... In order to specify a pipe, you need to know the name of the step and the name of the port for each connection ... Note that ports have constant names and all that need to have ad hoc names are steps ... All components should have universal standard names for their primary input and primary output Norm: I think I hear consensus that we're going to take a stab at this by naming the endpoints that are bolted together. <richard> I gave an XML syntax for this way of expressing it in http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2006Apr/0119.html[12] Issue 3118: Should an implementation of the language be allowed to perform caching? ->http://www.w3.org/Bugs/Public/show_bug.cgi?id=3118 <Alessandro> Absolutely Norm: I propose that in light of our decision about the "functionality" of components, this is purely a quality-of-implementation issue Accepted. Issue 3114: Are explicit dependencies required? ->http://www.w3.org/Bugs/Public/show_bug.cgi?id=3114 Norm: I don't think we have enough information to answer this yet. Richard: I think there's a simple synch. mechansim: have a component that waits until it has received a whole document. ... Then you use that component as input. ... Suppose you wanted to stop an XSLT component from running until some document had been generated. Then you could not give it its stylesheet until that document was ready. ... You could do that by passing the stylesheet through some component that waits until another document is fully written. Murray: How is it going to do that? By checking that it exists and is closed? Richard: I imagine that this is a special purpose component that reads the document. ... The mechanism for sync. can probably be achieved by components in the pipeline. Alex: In some sense I agree that having input dependencies is a great way to do this. But that may be confusing to users. ... But if we do synch. components then we have to deal with deadlock and other non-trivial issues. Murray: It occurs to me that if we had a p:depends element that named an input and an output then we could describe the dependency ... In addition to resolving the dependencies, it would provide an opportunity to rename things. Face-to-face meeting Murray: There's updated information on the page provided. In the comments section of the registration, please indicate how you planned to arrive and how you'd hope to travel. ... I'll send suggestions for how to get from the airport to here. ... This is a four-seasons resort area, so book rooms early. ADJOURNED Summary of Action Items [NEW] ACTION A-19-01: Alex to send mail describing his ideas about variables [recorded in http://www.w3.org/2006/05/04-xproc-minutes.html#action02[15]] [NEW] ACTION A-19-02: Norm to create an issue for this [recorded in http://www.w3.org/2006/05/04-xproc-minutes.html#action01[16]] ** [End of minutes] ---------------------------------------------------------------------- [1] http://www.w3.org/ [2] http://www.w3.org/XML/XProc/2006/05/04-agenda.html [3] http://www.w3.org/2006/05/04-xproc-irc [6] http://www.w3.org/2002/09/wbs/38398/XProcFTF2/ [7] http://www.w3.org/XML/XProc/2006/08/02-04-f2f.html [9] http://www.w3.org/2006/05/04-xproc-minutes.html#action01 [10] http://www.w3.org/2006/05/04-xproc-minutes.html#action02 [11] http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2006May/0012.html [12] http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2006Apr/0119.html [15] http://www.w3.org/2006/05/04-xproc-minutes.html#action02 [16] http://www.w3.org/2006/05/04-xproc-minutes.html#action01 [17] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm [18] http://dev.w3.org/cvsweb/2002/scribe/ Minutes formatted by David Booth's scribe.perl[17] version 1.127 (CVS log[18]) $Date: 2006/05/04 16:32:08 $
Received on Thursday, 4 May 2006 16:33:43 UTC