15:50:28 RRSAgent has joined #xproc 15:50:28 logging to http://www.w3.org/2005/12/22-xproc-irc 15:50:31 rrsagent, pointer 15:50:31 See http://www.w3.org/2005/12/22-xproc-irc#T15-50-31 15:54:09 Meeting: XML Processing Model WG 15:54:13 PGrosso has joined #xproc 15:54:16 Scribe: Norman Walsh 15:54:19 ScribeNick: Norm 15:54:24 Date: 22 Dec 2005 15:54:28 Chair: Norm 15:54:32 Agenda: http://www.w3.org/XML/XProc/2005/12/22-agenda.html 15:55:56 Regrets: Jeni, Richard, Alessandro 15:56:19 ruilopes has joined #xproc 15:56:22 zakim, list agenda 15:56:23 I see 16 items remaining on the agenda: 15:56:24 1. 1. Administrivia [from Norm] 15:56:26 2. 1.1. Accept this agenda [from Norm] 15:56:28 3. 1.2. Accept minutes from the previous teleconference [from Norm] 15:56:30 4. 1.3. Next meeting: 5 Jan 2006. (No meeting 29 Dec 2005.) [from Norm] 15:56:32 5. 1.4. Tech Plenary registration is now open [from Norm] 15:56:34 6. 2. Technical [from Norm] 15:56:36 7. 2.1. Use Cases [from Norm] 15:56:38 8. 2.1.1. From Alex [from Norm] 15:56:39 9. 2.1.2. From Andrew [from Norm] 15:56:40 10. 2.1.3. From Jenni [from Norm] 15:56:41 11. 2.1.4. From Norm [from Norm] 15:56:42 12. 2.1.5. From Rui [from Norm] 15:56:44 13. 2.2. Requirements [from Norm] 15:56:45 14. 2.2.1. From XML Core WG [from Norm] 15:56:47 15. 2.2.2. From ISO SC34/WG1 [from Norm] 15:56:48 16. 3. Any other business [from Norm] 15:56:50 XML_PMWG()11:00AM has now started 15:56:52 +Norm 15:58:00 alexmilowski has joined #xproc 15:58:13 +[IPcaller] 15:58:27 zakim, +[IPcaller is ruilopes 15:58:27 sorry, Norm, I do not recognize a party named '+[IPcaller' 15:58:32 zakim, IPcaller is ruilopes 15:58:32 +ruilopes; got it 15:59:25 +Alex_Milows 16:00:07 +[ArborText] 16:00:47 zakim, please call ht-781 16:00:47 ok, ht; the call is being made 16:00:48 +Ht 16:01:02 +[IPcaller] 16:01:12 zakim, ipcaller is ebruchez 16:01:12 +ebruchez; got it 16:01:43 AndrewF has joined #xproc 16:01:53 zakim, who's on the phone? 16:01:53 On the phone I see Norm, ruilopes, Alex_Milows, PGrosso, Ht, ebruchez 16:02:13 MSM has joined #xproc 16:02:37 +??P7 16:02:44 ??P7 is AndrewF 16:03:07 zakim, who's on the phone? 16:03:07 On the phone I see Norm, ruilopes, Alex_Milows, PGrosso, Ht, ebruchez, ??P7 16:03:14 zakim, ?p7 is AndrewF 16:03:14 sorry, Norm, I do not recognize a party named '?p7' 16:03:16 zakim, please call Michael-Office 16:03:16 ok, MSM; the call is being made 16:03:17 +Michael 16:03:18 zakim, who is on the phone? 16:03:18 On the phone I see Norm, ruilopes, Alex_Milows, PGrosso, Ht, ebruchez, ??P7, Michael (muted) 16:03:19 zakim, ??p7 is AndrewF 16:03:21 +AndrewF; got it 16:03:26 zakim, who's on the phone? 16:03:26 On the phone I see Norm, ruilopes, Alex_Milows, PGrosso, Ht, ebruchez, AndrewF, Michael (muted) 16:03:40 Zakim, list 16:03:40 I see DIG_(6.898)11:00AM, XML_PMWG()11:00AM active 16:03:42 also scheduled at this time are I18N_Core_WG(WS-I18N)11:00AM, WS_DescWG()11:00AM, SW_Simile()11:00AM, MWI_BPWG()10:00AM, SW_HCLS()11:00AM, VB_VBWG()10:00AM, WAI_Team()10:45AM 16:04:28 Present: Norm, Rui, AlexM, Paul, Henry, Erik, Andrew, Michael 16:05:07 zakim, next agendum 16:05:07 agendum 1. "1. Administrivia" taken up [from Norm] 16:05:12 Topic: Administrivia 16:05:25 zakim, list agenda 16:05:25 I see 16 items remaining on the agenda: 16:05:26 1. 1. Administrivia [from Norm] 16:05:27 2. 1.1. Accept this agenda [from Norm] 16:05:28 3. 1.2. Accept minutes from the previous teleconference [from Norm] 16:05:31 4. 1.3. Next meeting: 5 Jan 2006. (No meeting 29 Dec 2005.) [from Norm] 16:05:33 5. 1.4. Tech Plenary registration is now open [from Norm] 16:05:35 6. 2. Technical [from Norm] 16:05:36 7. 2.1. Use Cases [from Norm] 16:05:37 8. 2.1.1. From Alex [from Norm] 16:05:38 9. 2.1.2. From Andrew [from Norm] 16:05:40 10. 2.1.3. From Jenni [from Norm] 16:05:41 11. 2.1.4. From Norm [from Norm] 16:05:42 12. 2.1.5. From Rui [from Norm] 16:05:43 13. 2.2. Requirements [from Norm] 16:05:44 14. 2.2.1. From XML Core WG [from Norm] 16:05:46 15. 2.2.2. From ISO SC34/WG1 [from Norm] 16:05:48 16. 3. Any other business [from Norm] 16:05:48 zakim, next agendum 16:05:50 agendum 1 was just opened, Norm 16:06:15 zakim, close this agendum 16:06:15 agendum 1 closed 16:06:16 I see 15 items remaining on the agenda; the next one is 16:06:17 2. 1.1. Accept this agenda [from Norm] 16:06:18 zakim, next agendum 16:06:18 agendum 2. "1.1. Accept this agenda" taken up [from Norm] 16:06:24 Accepted 16:06:34 zakim, close this agendum 16:06:35 agendum 2 closed 16:06:36 I see 14 items remaining on the agenda; the next one is 16:06:37 3. 1.2. Accept minutes from the previous teleconference [from Norm] 16:06:40 zakim, next agendum 16:06:40 agendum 3. "1.2. Accept minutes from the previous teleconference" taken up [from Norm] 16:06:42 Accepted 16:06:59 zakim, next agendum 16:06:59 agendum 3 was just opened, Norm 16:07:02 zakim, close this agendum 16:07:02 agendum 3 closed 16:07:03 zakim, next agendum 16:07:04 I see 13 items remaining on the agenda; the next one is 16:07:05 4. 1.3. Next meeting: 5 Jan 2006. (No meeting 29 Dec 2005.) [from Norm] 16:07:06 agendum 4. "1.3. Next meeting: 5 Jan 2006. (No meeting 29 Dec 2005.)" taken up [from Norm] 16:07:28 Regrets for 5 Jan: None 16:07:32 zakim, close this agendum 16:07:32 agendum 4 closed 16:07:33 I see 12 items remaining on the agenda; the next one is 16:07:34 zakim, next agendum 16:07:35 5. 1.4. Tech Plenary registration is now open [from Norm] 16:07:36 agendum 5. "1.4. Tech Plenary registration is now open" taken up [from Norm] 16:07:49 URI for registration: http://www.w3.org/2002/09/wbs/35125/TP2006/ 16:08:23 Rui: Not sure if I can be present. I'll let you know when I am. 16:08:34 zakim, next agendum 16:08:34 agendum 6. "2. Technical" taken up [from Norm] 16:08:53 zakim, close this agendum 16:08:53 agendum 6 closed 16:08:54 I see 10 items remaining on the agenda; the next one is 16:08:55 7. 2.1. Use Cases [from Norm] 16:08:58 zakim, next agendum 16:08:58 agendum 7. "2.1. Use Cases" taken up [from Norm] 16:09:02 zakim, close this agendum 16:09:02 agendum 7 closed 16:09:03 I see 9 items remaining on the agenda; the next one is 16:09:04 zakim, next agendum 16:09:05 8. 2.1.1. From Alex [from Norm] 16:09:06 agendum 8. "2.1.1. From Alex" taken up [from Norm] 16:09:07 Topic: Use Cases 16:10:29 Alex: Use cases: http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2005Dec/0011.html 16:10:44 Alex: I sent another version this morning. [Scribe notes it isn't in the archives yet] 16:11:05 Alex: I'm using these pipelines for math, but they aren't specific to math. 16:11:22 Alex: I'm using them for web serves; tagsoup is injected to turn random HTML back into proper XHTML 16:11:45 I see Alex's email at http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2005Dec/0021.html 16:11:47 Alex: Link I sent this morning includes pointers to onlin eexamples 16:12:15 Thank you, PGrosso 16:12:48 Alex: One of the components of my pipeline is the ability to pick out a subtree 16:13:27 Alex: Important technical feature is the ability to one transform create a piece of markup that pointed to another transform. 16:14:00 Alex: pipelines are sometimes embedded in the source documents 16:15:01 Norm: Did I understand correctly: you have a pipeline where one step generates the pipeline that's used for subsequent steps 16:15:17 Alex: No, they generate data. 16:15:46 Alex: your pipeline is what it is, in the apply-xslt example, it's XSLT that decides what needs to be done next 16:16:29 Alex: what you really want to do is decide based on data what needs to be done (including possibly making up what needs to be done on the fly) 16:16:50 Alex: In cocoon you do this by redirecting to a new pipeline 16:17:23 Alex: Each step can generate data that might cause subsequent stages to do something 16:18:01 Alex: The interface to the tides example is a screen-scraping example; the component (using tag soup? --scribe) extracts data from a web page to find the tide data 16:18:29 Alex: That's two pipelines that work together 16:19:16 Michael: we shouldn't rathole here, but it's not clear to me how the facilities that Alex is talking about are and are not feasible in coccoon. 16:19:26 Hopefully this can be clarified in email 16:20:08 Alex: You can do a lot of these in coccoon, but they have a simple one-level sequence path and I've got a more hierarchical model. Processing subtrees is like having embedded pipleines. That's hard to do in coccoon because of their syntax. 16:21:37 Alex explains that the pipeline steps aren't dynamic but, for example, the selection of a particular stylesheet in a transfomration step might be data driven 16:21:40 s/coccoon/Cocoon/ 16:21:58 zakim, next agendum 16:21:58 agendum 9. "2.1.2. From Andrew" taken up [from Norm] 16:22:19 Andrew: I put two simple cases, but I'm trying to make a couple of points. 16:22:47 Andrew: First, conditionality is required. Second, we'd like to have each componetn be independent, but sometimes we need to pass parameters from one stage on to the next. 16:23:46 Norm: When I spoke about not needing to pass parameters, it was just an observation. I'm not surprised that sometimes its needed 16:23:56 Alex: Can a particular step set a parameter for a later step? 16:24:17 Andrew: There are user-set parameters when you invoke the pipeline, but there's no other kind of input. 16:24:36 Alex: I have an example where stages can bind parameters for later stages. 16:24:48 zakim, next agendum 16:24:48 agendum 10. "2.1.3. From Jenni" taken up [from Norm] 16:24:52 Jeni isn't here, alas 16:26:02 Alex: Jeni makes the point that some steps are made up of sub-pipelines 16:26:28 Micheal: One thing that becomes very clear is that quite frequently you seem to have a choice of where to put certain kinds of functionality 16:26:59 Micheal: Conditional processing, for exampe, can be handled by choosing whether to invoke stylesheet a or stylesheet b or by writiing a stylesheet that checks a condition and then operates in mode a or mode b. 16:27:18 Michael: We seem to get to choose whether to put the complexity in the pipeline or in the individual stages. 16:28:04 Michael: in her use case, she imagined parsing the ... scribe was distracted 16:28:05 flanneling around? 16:28:09 q+ to point to step (1c) 16:28:35 Michael: it's not always absolutely clear what the implication of moving the complexity around is 16:28:48 Alex: putting all the complexity in a stylesheet makes the stylesheet hard to maintain 16:29:07 Michael: That's one reason to let some of the complexity percolate up. But it's not clear how to balance those tradeoffs 16:29:42 Alex: you can write extensions to XSLT and one of those could evaluate a pipeline 16:30:17 Norm: I think it's a mistake to focus so exclusively on XSLT as there are other kinds of components 16:30:17 True 16:30:21 ack 16:30:27 zakim, ack ht 16:30:27 ht, you wanted to point to step (1c) 16:30:28 I see no one on the speaker queue 16:31:24 alexmilowski: one way to think about these questions is to look at the kinds of extension functions people have written for XSLT 1 -- sometimes those functions are there only because of deficiencies in the environment, and represent functionality that 'really' belongs in a pipelining language 16:31:25 ht: Jeni's step 1c is clear about the fact that it merges the output from 1a and 1b. Maybe Jeni's case is a little simpler than Alexes. 16:31:40 s/Alexes/Alex's/ 16:31:53 ht: It's clearly a requirement at some stage, though not clear that it has to be in V1 16:32:05 zakim, next agendum 16:32:06 agendum 11. "2.1.4. From Norm" taken up [from Norm] 16:32:42 Norm: Most of my examples are straightforward 16:32:56 ... Two interesting wrt V1 or not 16:33:10 ... First a sub-pipelining example similar to Jeni's 1c 16:33:47 ... Second where a step produces an indeterminate number of e.g. chapter.html files, each of which has to go through further processing 16:34:39 ... When you know exactly how many files will be output, it's clear how to do this in a fairly simple pipeline language, but when this isn't known in advance, not clear what to do 16:35:24 AM: XQuery and XSLT2 are clear examples of this, which I've thought of in terms of thinking of the output as a sequence of documents 16:35:53 ... This is parallel to the XPath-based viewport abstraction which I and others have been using 16:36:21 AF(?): Problem with sequence is that the items aren't named 16:36:49 ... Also, loss of symmetry, wrt names and/or cardinality, wrt inputs and outputs of steps 16:37:06 NW: In my example they'd be named 16:37:38 AF: In XSLT2 case, yes, but not in others. . . 16:37:42 zakim, next agendum 16:37:42 agendum 12. "2.1.5. From Rui" taken up [from Norm] 16:37:56 ht, comment about sequences was from Erik 16:38:02 Rui: mine are similar to previous examples. 16:38:24 s/AF(?):/EB:/ 16:38:33 s/AF:/EB:/ 16:38:42 Rui: In the first use case, if you have an XSLT pagination, you'll create a huge set of documents. But the main document will not be used further 16:38:52 Rui: should we allow the pipeline author to express this? 16:39:12 Rui: in the next scenario the question is one of reuse and composition of pipelines 16:39:34 Rui: should we use XInclude, or would we like to have another sort of language to express the composition 16:40:49 Rui: If you have one pipeline with a component that outputs more than one document, and those documents are needed by the next component, how can you be sure that the right documents were generated? 16:41:03 Rui: Do we need a way to specify that a certain number or kind of documents will be produced at runtime 16:41:31 Erik: it looks like I did not get Rui's use cases. I got a blank email. 16:42:00 Several other people had problems. The MIME seems to have been garbled. 16:43:04 This is probably a consequence of a MIME message being forwarded by another client that does MIME 16:43:54 Use cases from Erik: http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2005Dec/0020.html 16:44:30 Erik: I did not really connect those use cases to XPL which is the language that we have designed and a variation of which we submitted to W3C 16:44:38 Erik: These are just use cases from actual clients 16:45:07 Erik: I thought it would be useful to categorize the environments where these are processed. 16:45:36 Erik: I found three broad categories: command-line/batch environments, web enviromnets, and service environments 16:45:55 Erik: I'm just trying to see if there are requirements that haven't been mentioned, I don't think so, except perhaps the question of validation 16:46:22 Erik: is validation a custom-component pipeline step or is it something that is part of the pipeline language 16:47:03 Erik: Very often our use cases start by saying "we need an XML document"; often they begin with a URI, but in some cases you can just consider passing a document to the pipeline itself, implying that the pipeline itself can receive and produce XML documents 16:47:23 Erik: Looking at it this way, you can imagine that a pipeline interpreter might be a component in its own right. 16:47:42 Erik: the second set of use cases involve conditionals. Our current thinking is that we do have many use cases that require conditionals. 16:48:07 Erik: One of them is a conditional database access logic. Query a document, look at the content, if there's something then do an update otherwise do an insert. 16:48:42 Erik: Anther scenario is content-dependent transformation; the transformation selected is determined by the output of a previous stage. 16:50:07 Erik: Another example is where you want to generate a particular document for desktop or mobile browsers. The configuration from the outside determines which stylesheet (or pipeline? or pipeline stage? --scribe) is used. 16:50:27 Erik: Another common use case is the selection of Atom or RSS1 or RSS2, etc., when generating feeds 16:51:26 Erik: The next use case is a little different. Here an XML pipeline is used to implement an XML-RPC service. In the request you have method calls with method names. The sub-pipeline that's executed is determined by the method selected in the request. 16:52:19 Norm: I wasn't sure at what level you needed to make conditional selection 16:53:06 Erik: Based on whether an XPath expression returns true, you will execute a particular branch of the pipeline. Otherwise, you test another condition, etc. It's completely exeternal to the components. 16:53:29 zakim, next agendum 16:53:29 agendum 13. "2.2. Requirements" taken up [from Norm] 16:53:42 Erik: there are a few more use cases, that involve iteration. 16:55:43 Erik: consider a collection of files on disk. You'd read a list of documents, either from a file or with a component that can scan the filesystem, you want to iterate on that list of docuents and for each iteration you want to perform a sequence of steps. Alternatively, you may want to combine all the results together. 16:56:29 Norm: that sounds like a colleciton 16:57:10 Erik: That's almost an implementation question. If your language supports multiple outputs in a dynamic way then maybe you can do that. But here the idea is that you want to perform a certain number of tasks, perhaps once for each element that matches an XPath expression. 16:57:43 Alex: that sounds a lot like the concept of identifying subtrees in an infoset using an xpath 16:58:34 Alex: I've been experimenting with another kind, where you have a document that contains 10 entries and points to hte next document with the next 10 entries, etc. That seems completely different. 16:58:55 Erik: we've identified two types of interation; one is a for-each another is a while. 16:59:41 zakim, agendum 16 16:59:41 I don't understand 'agendum 16', Norm 16:59:52 Topic: Any other business 17:00:07 Norm: I propose we continue with iteration next week. And begin looking at result. 17:01:44 s/result/requirements/ 17:02:31 Proposal: for 5 Jan, everyone submit a list of possible requirements so that we can begin to select the ones upon which we have consensus 17:02:39 Accepted. 17:03:07 -Alex_Milows 17:03:08 -PGrosso 17:03:08 -ebruchez 17:03:10 -Norm 17:03:10 -ruilopes 17:03:11 -AndrewF 17:03:16 -Ht 17:03:18 -Michael 17:03:20 XML_PMWG()11:00AM has ended 17:03:21 Attendees were Norm, ruilopes, Alex_Milows, PGrosso, Ht, ebruchez, Michael, AndrewF 17:03:29 Norm wishes the group happy holidays 17:03:34 Adjourned 17:03:51 alexmilowski has left #xproc 17:06:52 rrsagent, draft minutes 17:06:52 I have made the request to generate http://www.w3.org/2005/12/22-xproc-minutes.html Norm 17:07:02 PGrosso has left #xproc 17:07:18 rrsagent set logs world-visible 17:08:08 rrsagent, set logs world-visible 17:09:20 They look ok to me. 17:49:19 rrsagent, bye 17:49:19 I see no action items