IRC log of xproc on 2006-01-12

Timestamps are in UTC.

15:29:01 [RRSAgent]
RRSAgent has joined #xproc
15:29:01 [RRSAgent]
logging to
15:29:08 [Norm]
zakim, this will be xproc
15:29:08 [Zakim]
ok, Norm; I see XML_PMWG()11:00AM scheduled to start in 31 minutes
15:29:23 [Norm]
Meeting: XML Processing Model WG
15:29:23 [Norm]
Scribe: Norman Walsh
15:29:23 [Norm]
ScribeNick: Norm
15:29:23 [Norm]
Date: 12 Jan 2005
15:29:23 [Norm]
Chair: Norm
15:29:28 [Norm]
15:29:35 [Norm]
s/12 Jan 2005/12 Jan 2006/
15:30:57 [Norm]
Norm has changed the topic to: XProc:
15:31:12 [Norm]
zakim, agenda+ Administrivia
15:31:13 [Zakim]
agendum 1 added
15:31:41 [Norm]
zakim, agenda+ Technical: email followup
15:31:42 [Zakim]
agendum 2 added
15:31:49 [Norm]
zakim, agend+ Requirements
15:31:49 [Zakim]
I don't understand 'agend+ Requirements', Norm
15:31:52 [Norm]
zakim, agenda+ Requirements
15:31:52 [Zakim]
agendum 3 added
15:55:00 [Alessandro]
Alessandro has joined #xproc
15:57:35 [rlopes]
rlopes has joined #xproc
15:58:05 [ht]
zakim, please call ht-781
15:58:23 [Zakim]
ok, ht; the call is being made
15:58:27 [Zakim]
XML_PMWG()11:00AM has now started
15:58:29 [Zakim]
15:59:16 [Jeni]
Jeni has joined #xproc
15:59:30 [Zakim]
15:59:49 [Zakim]
16:00:53 [richard]
richard has joined #xproc
16:01:00 [richard]
16:01:03 [ebruchez]
ebruchez has joined #xproc
16:01:09 [Zakim]
16:01:16 [Zakim]
16:01:21 [Norm]
zakim, who's on the phone?
16:01:21 [Zakim]
On the phone I see Ht, Jeni (muted), ??P10, [IPcaller], Norm
16:01:34 [Zakim]
16:01:36 [Norm]
zakim, ?p10 is richard
16:01:36 [Zakim]
sorry, Norm, I do not recognize a party named '?p10'
16:01:38 [PGrosso]
PGrosso has joined #xproc
16:01:46 [Norm]
zakim, ?P30 is richard
16:01:46 [Zakim]
sorry, Norm, I do not recognize a party named '?P30'
16:01:50 [Norm]
zakim, ??P30 is richard
16:01:50 [Zakim]
+richard; got it
16:01:58 [Norm]
zakim, who's on the phone?
16:01:59 [Zakim]
On the phone I see Ht, Jeni (muted), ??P10, [IPcaller], Norm, richard
16:02:02 [Zakim]
16:02:29 [Norm]
zakim, IPcaller is rlopes
16:02:30 [Zakim]
+rlopes; got it
16:02:37 [Norm]
zakim, ??P10 is Alessandro
16:02:37 [Zakim]
+Alessandro; got it
16:02:40 [Norm]
zakim, who's on the phone?
16:02:40 [Zakim]
On the phone I see Ht, Jeni (muted), Alessandro, rlopes, Norm, richard, PGrosso
16:02:59 [Zakim]
16:03:10 [Norm]
zakim, IPCaller is ebruchez
16:03:10 [Zakim]
+ebruchez; got it
16:03:45 [Norm]
zakim, who's here?
16:03:45 [Zakim]
On the phone I see Ht, Jeni (muted), Alessandro, rlopes (muted), Norm, richard, PGrosso, ebruchez
16:03:47 [Zakim]
On IRC I see PGrosso, ebruchez, richard, Jeni, rlopes, Alessandro, RRSAgent, Zakim, Norm, ht, MSM
16:05:08 [AndrewF]
AndrewF has joined #xproc
16:05:30 [Zakim]
16:05:36 [Zakim]
16:05:47 [Norm]
zakim, ??P65 is Andrew
16:05:47 [Zakim]
+Andrew; got it
16:06:04 [alexmilowski]
alexmilowski has joined #xproc
16:06:21 [Norm]
Present: Henry, Richard, Rui, Erik, Alessandro, Norm, Jeni, Paul, Andrew, Alex
16:06:31 [Norm]
Regrets: Robin, Michael (partial)
16:06:36 [Norm]
zakim, next agendum
16:06:36 [Zakim]
agendum 1. "Administrivia" taken up [from Norm]
16:06:46 [Norm]
Accept this agenda?
16:06:47 [Norm]
16:07:04 [Norm]
Accept last week's minutes:
16:07:06 [Norm]
16:08:20 [Norm]
Norm reminds the group about the plenary and the hotel arrangements
16:08:25 [Norm]
zakim, next agendum
16:08:25 [Zakim]
agendum 2. "Technical: email followup" taken up [from Norm]
16:08:57 [Norm]
Kinds of iteration?
16:09:34 [Norm]
Alex: we're getting more technical, are we start doing that now are we going to lose the requirements/use-cases thread?
16:10:51 [Norm]
Alex: The question of what passes between processes is an important one at this stage.
16:11:33 [Norm]
Alex: Core WG said "infosets" but now we need to support XDM and other augmented forms
16:12:31 [Norm]
Norm: the ability to pass around infosets and augmented infosets are both requirements in my mind
16:12:43 [Norm]
Jeni: I think there's a community that just wants to pass serialized XML around
16:13:11 [Norm]
Jeni: We ought to have a should or maybe requirement around those ideas
16:13:19 [Norm]
Richard: How is that different from an infoset?
16:13:44 [Norm]
Jeni: I think some folks care about whether things are represented by an entity or a Unicode character
16:13:57 [Norm]
Richard: So you're assuming the components aren't normal XML processors?
16:14:54 [Norm]
Jeni: The kind of pipeline I have in mind is one where someone takes a non well-formed XML document, smartens it up into XML, and then can report that as parsed XML to the next stage. Then later on, create some XML that is just a stream of characters (e.g., change particular characters into images)
16:15:03 [Norm]
Richard: So you'd be able to pass things around that aren't really XML?
16:15:23 [Norm]
Jeni: From my use cases, I think processes should be able to consume and produce things which aren't XML (especially HTML)
16:15:40 [Norm]
Jeni: Taking non-XML and turning it into XML is important.
16:16:10 [Norm]
Alex: Maybe we'll have to look at serialization more closely.
16:17:00 [Norm]
Alex: Maybe some of the other things should be doable on the end of a pipeline.
16:17:40 [MSM]
zakim, please call Michael-Office
16:17:40 [Zakim]
ok, MSM; the call is being made
16:17:42 [Zakim]
16:17:48 [rlopes]
Zakim, please unmute me
16:17:48 [Zakim]
rlopes should no longer be muted
16:18:00 [Norm]
ack ebruchez
16:18:04 [MSM]
zakim, please mute Michael
16:18:04 [Zakim]
Michael should now be muted
16:18:27 [Norm]
Norm: I imagined non-XML only at the ends but there's nothing that would prevent someone from glueing several together I suppose.
16:18:45 [Norm]
Erik: Talking about non-XML stuff is a little scary because it's more like Unix pipes and is a little more complex. We need to be careful.
16:19:15 [Norm]
Erik: Certainly it's important to some people to have some things, like entities, preserved, but if none of the existing data models do that, we should investigage why.
16:20:42 [Norm]
Erik: In XPL, we only deal with XML infosets. If a component is trying to read data which is not XML, then either the component access the information externally (not through a connection in the pipeline) or you can encapsulate the information in some XML format (e.g., base64 encoded)
16:20:53 [Norm]
16:21:26 [Norm]
Alex: We need to be very careful not to try to take on more than we can handle
16:22:23 [Norm]
Norm: Jeni only said "could" or "should". Let's see if we can get a better handle on the issues when we have more information (later in the process)
16:22:54 [Norm]
Richard: If we're dealing with both plain infosets and augmented infosets, then we could have an "unintepreted text" mode as well. Though we wouldn't have any standard components that work on them.
16:23:17 [Norm]
16:23:23 [Norm]
ack rlopes
16:23:38 [Norm]
Rui: We can look at the way cocoon handles this issue
16:24:16 [Norm]
Erik: Cocoon handles this by using generators or serializers following a model similar to what I said about XPL above.
16:25:23 [Norm]
zakim, agenda?
16:25:23 [Zakim]
I see 2 items remaining on the agenda:
16:25:24 [Zakim]
2. Technical: email followup [from Norm]
16:25:25 [Zakim]
3. Requirements [from Norm]
16:25:29 [Norm]
zakim, next agendum
16:25:29 [Zakim]
agendum 3. "Requirements" taken up [from Norm]
16:26:11 [Norm]
Alex: I got as far as getting myself setup with XML Spec. I haven't done any new content, but I have a proposal about how it should be laid out.
16:26:43 [Norm]
16:26:52 [Norm]
Alex: I'd like feedback on that layout before I proceed.
16:27:10 [Norm]
Alex: Do we need a terminology section?
16:27:51 [Norm]
Alex: There's a lot of terminology out there, we should define what we mean by things so that we don't confuse readers.
16:28:56 [Norm]
Alex: The previous document had a section on "design principles" but those sound like "requirements" to me.
16:29:23 [Norm]
Alex: I think we could introduce the idea that "design principles" are just very broad requirements.
16:30:37 [MSM]
16:30:55 [Norm]
ack MSM
16:31:05 [MSM]
ack MSM
16:31:09 [Norm]
zakim, unmute msm
16:31:09 [Zakim]
sorry, Norm, I do not see a party named 'msm'
16:31:14 [Norm]
zakim, unmute MSM
16:31:14 [Zakim]
sorry, Norm, I do not see a party named 'MSM'
16:31:16 [Norm]
16:31:17 [MSM]
zakim, please unmute Michael
16:31:17 [Zakim]
Michael should no longer be muted
16:31:27 [Norm]
zakim, Michael is MSM
16:31:27 [Zakim]
+MSM; got it
16:32:23 [Norm]
MSM: Design principles are not simply broad requirements in the following way: there have been some people active in W3C WGs who have said a "requirement" is (a) a crisp, verifiable statement and (b) is a do-or-die thing; if you don't meet the requirements you don't ship.
16:32:56 [Norm]
MSM: For people who take that view, keep it "short and simple" isn't crisp enough. Short you could manage, but "crisp" would be untestable.
16:33:23 [Norm]
MSM: But equally, it's not exactly a do-or-die situation. If you set a target of 20 pages and the normative prose turns out to be 21 pages, you typically call that a success.
16:33:56 [Norm]
MSM: If no one in our readership is going to interpret requirement as above, then Alex's proposal is fine. But there are those people in the world.
16:34:22 [Norm]
Alex: In that case, I would put "we process infosets" as a hard requirement.
16:34:45 [MSM]
16:35:08 [Norm]
Norm: Does that all sound ok to folks then?
16:35:19 [Norm]
16:38:20 [Norm]
Discussion of requirements in Alex's document
16:38:45 [PGrosso]
16:38:46 [richard]
what is the URL of the document we're looking at?
16:38:49 [Norm]
16:38:58 [Norm]
16:39:37 [Norm]
16:39:57 [Norm]
1. The language must be rich enough to address practical interoperability concerns.
16:40:14 [Norm]
Design principle
16:40:23 [Norm]
2. The language should be as small and simple as possible.
16:40:33 [Norm]
Design principle
16:40:39 [Norm]
3. The language must allow the inputs, outputs, and other parameters of a components to be specified.
16:40:51 [Norm]
16:40:56 [Norm]
4. he language must define the basic minimal set of mandatory input processing options and associated error reporting options required to achieve interoperability.
16:41:19 [Norm]
There's some confusion about this one
16:41:41 [Norm]
Editor will refactor.
16:42:33 [Norm]
5. Given a set of components and a set of documents, the language must allow the order of processing to be specified.
16:42:49 [Zakim]
16:43:15 [Norm]
16:43:17 [Zakim]
16:43:22 [Norm]
zakim, ??P28 is richard
16:43:22 [Zakim]
+richard; got it
16:43:43 [Norm]
6. #
16:43:43 [Norm]
It should be relatively easy to implement a conformant implementation of the language, but it should also be possible to build a sophisticated implementation that can perform parallel operations, lazy or greedy processing, and other optimizations.
16:43:43 [Norm]
16:44:18 [Norm]
Confusion? Design principles or requirements?
16:44:22 [Norm]
Editor will refactor.
16:44:41 [Norm]
7. The model should be extensible enough so that applications can define new processes and make them a component in a pipeline.
16:44:56 [Norm]
16:45:43 [Norm]
Richard: I think we should be careful not to use "extensibility" and "interoperability" without being fairly precise about what we mean.
16:46:11 [Norm]
8. The model must provide mechanisms for addressing error handling and fallback behaviors.
16:46:36 [Norm]
16:47:07 [Norm]
MSM: Are we talking about candidate requirements or requirements we've accepted
16:47:13 [richard]
these are all "candidate" requirements at this stage, surely
16:48:40 [Norm]
Norm: I think we get to start over and we get to pick if these are requirements we accept or not after we believe we have a common understanding of what they mean
16:48:50 [Norm]
9. The model could allow conditional processing so that different components are selected depending on run-time evaluation.
16:49:04 [Norm]
MSM: Run-time evaluation is clear enough to count as crisp?
16:49:13 [Norm]
Alex: No, I think these will all get longer.
16:49:16 [Norm]
16:49:27 [Norm]
10. The model should not prohibit the existence of streaming pipelines.
16:49:31 [Norm]
16:50:02 [Norm]
Richard: we should be clear that you should be able to write pipelines that can be streamed rather than that every pipeline must be streamable.
16:50:13 [Norm]
Richard: Some things that you might want to do with pipelines cannot be streamed.
16:50:55 [Norm]
MSM: Can we imagine an option where I ask if this pipeline is streamable and fail if it isn't?
16:51:33 [Norm]
Erik: I'm not sure I understand the question. Should you have an option to ask the pipeline engine if a pipeline is streamable?
16:52:10 [Norm]
MSM: I would like the option of having the processor tell me if I've failed to write a streaming pipeline.
16:52:25 [Norm]
Erik: This sounds like something specific to a particular implementation.
16:52:33 [Norm]
MSM: It may be infeasable in general.
16:52:59 [Norm]
Erik: The idea is to leave the door open to allow some processors to optimize something to be streaming.
16:53:44 [Norm]
MSM: If it's that difficult to tell, then I'm concerned about it being a requirement as opposed to a design goal.
16:54:32 [Norm]
Richard: Something like a general XSLT transformation cannot possibly be guaranteed to be streamble. There are some cases where the streambility is determined by the compoents.
16:55:16 [Norm]
Richard: But if there are conditionals in the language then it may also not be possible to stream on that basis (.e.g, a condition that cannot be deterined until some stage has finished).
16:55:16 [Norm]
Richard: As we proceed through, we shouldn't put anything in that prevents a streaming pipeline.
16:55:32 [Norm]
Alex; We can mark this as a possible new requirement and debate it as we proceed.
16:55:47 [ebruchez]
I I think that's too specific of a reuirement
16:56:26 [MSM]
I am having trouble imagining a language construct that would not only be non-streamable but would successfully prohibit the writing of streamable pipelines. Is the req as formulated by Core a nop?
16:56:43 [Norm]
11. #
16:56:43 [Norm]
The model should allow multiple inputs and multiple outputs for a component.
16:56:43 [Norm]
16:57:03 [Norm]
16:57:03 [Norm]
12. The model should allow any data set conforming to one of the W3C standards, such as XML 1.1, XSLT 1.0, XML Query 1.0, etc., to be specified as an input or output of a component.
16:57:47 [Norm]
I'd be inclined to state it broadly as a design principle.
16:58:14 [richard]
Michael - a rule that downstream components must not start unless it is guaranteed that no upstream component will abortld be an example of such a construct
16:58:42 [Norm]
Alex: That boils down to specific ones for known languages.
16:59:13 [Norm]
Norm: I think we may be able to answer the question more generally, but I'm ok with that.
16:59:24 [Norm]
13. Information should be passed between components in a standard way, for example, as one of the data sets conforming to an industry standard.
16:59:36 [Norm]
Richard: I think that means it should use things like SAX and DOM
16:59:49 [Norm]
MSM: Except that neither SAX nor DOM is a data set.
17:00:14 [Norm]
Alex: we could refactor that to say that we don't want to preclude ... some list of known ways to pass infosets.
17:00:43 [Norm]
Richard: The Core WG may have been trying to express that it didn't want us to invent a *new* way
17:01:00 [Norm]
Richard: The fact that the Core WG included it doesn't mean everyone there agreed with it.
17:01:20 [Norm]
Editor will refactor.
17:01:37 [Norm]
14. The language should be expressed in XML. It should be possible to author and manipulate documents expressed in the pipeline language using standard XML tools.
17:01:52 [Norm]
17:02:07 [Norm]
15. The pipeline language should be declarative, not based on APIs.
17:03:04 [Norm]
Erik: I would argue that XPL is declarative
17:03:28 [Norm]
Erik: You really are declaring linking of components together and leaving it to the implementation to do the work
17:03:57 [Norm]
Richard: The idea here is that the language for expressing the connections between components should be declarative.
17:04:32 [Norm]
16. The model should be neutral with respect to implementation language.
17:05:22 [Norm]
17:05:49 [Norm]
Norm: Do you have enough to make a first pass?
17:06:05 [Norm]
Alex: Yes. If you look at this list and see things missing, we should add them.
17:06:47 [Norm]
Alex: I'll take a first stab at it from the minutes of the preceding meetings.
17:07:50 [Zakim]
17:07:51 [Norm]
ACTION: Alex to produce document by c.o.b. 17 Jan 2006
17:07:51 [Zakim]
17:07:53 [Zakim]
17:07:54 [Zakim]
17:07:55 [Zakim]
17:07:56 [Zakim]
17:07:57 [alexmilowski]
alexmilowski has left #xproc
17:07:57 [Zakim]
17:07:58 [Zakim]
17:08:00 [Zakim]
17:08:01 [Norm]
17:08:01 [Zakim]
17:08:03 [Zakim]
17:08:03 [PGrosso]
PGrosso has left #xproc
17:08:04 [Zakim]
XML_PMWG()11:00AM has ended
17:08:05 [Zakim]
Attendees were Ht, Jeni, Norm, richard, PGrosso, rlopes, Alessandro, ebruchez, Alex_Milowski, Andrew, MSM
17:08:10 [Norm]
rrsagent, make draft minutes
17:08:10 [RRSAgent]
I'm logging. I don't understand 'make draft minutes', Norm. Try /msg RRSAgent help
17:09:07 [Norm]
rrsagent, draft minutes
17:09:07 [RRSAgent]
I have made the request to generate Norm
17:09:09 [Alessandro]
Alessandro has left #xproc
17:09:15 [Norm]
rrsagent, set logs world-visible
17:27:49 [Norm]
zakim, bye
17:27:49 [Zakim]
Zakim has left #xproc
17:27:51 [Norm]
rrsagent, bye
17:27:51 [RRSAgent]
I see 1 open action item saved in :
17:27:51 [RRSAgent]
ACTION: Alex to produce document by c.o.b. 17 Jan 2006 [1]
17:27:51 [RRSAgent]
recorded in