IRC log of xproc on 2007-05-24

Timestamps are in UTC.

14:09:20 [RRSAgent]
RRSAgent has joined #xproc
14:09:20 [RRSAgent]
logging to
14:09:35 [MoZ]
Zakim, this will be xproc
14:09:35 [Zakim]
ok, MoZ; I see XML_PMWG()11:00AM scheduled to start in 51 minutes
14:09:41 [MoZ]
Zakim, what is the code ?
14:09:41 [Zakim]
the conference code is 97762 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), MoZ
14:48:34 [ht]
ht has joined #xproc
14:56:57 [avernet]
avernet has joined #xproc
14:58:05 [Zakim]
XML_PMWG()11:00AM has now started
14:58:12 [Zakim]
14:58:12 [Norm]
Norm has joined #xproc
14:58:17 [Norm]
zakim, this is xproc
14:58:17 [Zakim]
Norm, this was already XML_PMWG()11:00AM
14:58:18 [Zakim]
ok, Norm; that matches XML_PMWG()11:00AM
14:58:24 [Norm]
zakim, who's on the phone?
14:58:24 [Zakim]
On the phone I see Norm
14:59:00 [Norm]
Meeting: XML Processing Model WG
14:59:00 [Norm]
Date: 24 May 2007
14:59:00 [Norm]
14:59:00 [Norm]
Meeting number: 69, T-minus 23 weeks
14:59:00 [Norm]
Chair: Norm
14:59:01 [Norm]
Scribe: Norm
14:59:03 [Norm]
ScribeNick: Norm
14:59:14 [rlopes]
rlopes has joined #xproc
15:00:27 [PGrosso]
PGrosso has joined #xproc
15:00:31 [Zakim]
15:00:37 [ht]
zakim, please call ht-781
15:00:37 [Zakim]
ok, ht; the call is being made
15:00:38 [avernet]
zakim, [ is avernet
15:00:38 [Zakim]
15:00:39 [Zakim]
+avernet; got it
15:00:54 [Zakim]
15:01:25 [richard]
richard has joined #xproc
15:01:29 [MoZ]
Zakim, what is the code ?
15:01:29 [Zakim]
the conference code is 97762 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), MoZ
15:01:37 [Zakim]
15:02:01 [Zakim]
15:02:03 [Zakim]
15:02:04 [Zakim]
15:02:08 [richard]
zakim, ? is me
15:02:08 [Zakim]
+richard; got it
15:02:34 [Zakim]
15:02:49 [rlopes]
Zakim, ? is me
15:02:57 [Zakim]
+rlopes; got it
15:03:10 [MoZ]
Zakim, who is here ?
15:03:19 [Zakim]
On the phone I see Norm, avernet, Ht, PGrosso, MoZ, richard, rlopes
15:03:23 [Zakim]
15:03:28 [alexmilowski]
alexmilowski has joined #xproc
15:03:29 [Zakim]
On IRC I see richard, PGrosso, rlopes, Norm, avernet, ht, RRSAgent, Zakim, MoZ
15:03:45 [Norm]
zakim, who's talking?
15:03:56 [Zakim]
Norm, listening for 10 seconds I heard sound from the following: avernet (4%), MoZ (37%), richard (14%)
15:04:00 [Norm]
zakim, mute moz
15:04:00 [Zakim]
MoZ should now be muted
15:04:03 [Norm]
zakim, unmute moz
15:04:03 [Zakim]
MoZ should no longer be muted
15:04:27 [Andrew]
Andrew has joined #xproc
15:04:28 [MoZ]
Norm, is this better ?
15:04:30 [Norm]
15:05:20 [Zakim]
15:05:24 [Andrew]
zakim, ? is Andrew
15:05:24 [Zakim]
+Andrew; got it
15:05:29 [Norm]
zakim, who's on the phone?
15:05:29 [Zakim]
On the phone I see Norm, avernet, Ht, PGrosso, MoZ, richard, rlopes, Alex_Milowski, Andrew
15:05:40 [Norm]
Present: Norm, Alessandro, Henry, Paul, Mohamed, Richard, Rui, Alex, Andrew
15:06:01 [Norm]
Topic: Accept this agenda?
15:06:01 [Norm]
15:06:05 [Norm]
15:06:09 [Norm]
Topic: Accept minutes from the previous meeting?
15:06:09 [Norm]
15:06:19 [Norm]
15:06:28 [Norm]
Topic: Next meeting: telcon 31 May 2007
15:06:40 [Norm]
Norm, Henry give regrets
15:07:15 [Norm]
Alex to chair
15:07:31 [Norm]
Topic: Open action items
15:07:43 [Norm]
Henry completed his action on p:wrap
15:07:53 [Norm]
Alex completed his actions wrt to steps in the latest draft
15:08:06 [Norm]
Topic: Parameter proposals
15:08:40 [Norm]
Norm: Henry and I discussed it this morning
15:09:37 [Norm]
Henry: In response to your mail, Norm where you asked how to feed a parameter to only one XSLT step.
15:10:23 [Norm]
Henry: Wouldn't you have to change the pipeline?
15:10:25 [Norm]
Norm: Yes
15:11:16 [Norm]
Some discussion of how to make it work for arbitrary parameters
15:11:27 [Norm]
Richard: I think you could do it from the command line, but it might be messy
15:16:06 [Norm]
Norm attempts to summarize the differences between Henry's proposal and mine.
15:16:14 [Norm]
s/mine/the alternate draft/
15:16:48 [Norm]
Henry: The reason I made another proposal is that there appears to be a lot more mechanism and new rules than appeared to be necessary in the 90% use case of the new mechanism.
15:17:07 [Norm]
...If we wanted grouped parameters to send to separate steps, then let's do just that.
15:19:33 [Norm]
Alex: One of the things you can do with Norm's proposal is avoid shadowing so, for examples, you can avoid having *all* parameters go to http-request as headers
15:19:59 [Norm]
Norm: Right.
15:20:07 [Norm]
Henry: That's true, there's no way to do that.
15:21:44 [Norm]
Henry: There are two levels: first, that it would be reasonable to spec http-request to say that it could read parameters as headers by explicitly naming them.
15:21:58 [Norm]
Henry: But we still use QNames, right?
15:22:09 [Norm]
...That's what namespaces are for. If you need to avoid name collisions.
15:23:16 [Norm]
Alex: We could augment Henry's proposal with some sort of exclude parameter.
15:25:08 [Norm]
Some discussion of how bindings would also work with namespaces and multiple steps of the same type
15:25:37 [Norm]
Henry: If, after suitable experience, we feel that we need some way of throwing away inherited parameters, we could add that.
15:26:25 [Norm]
Alex: I think if you want to write a rock-solid pipeline, you're going to wind up trying to deal with parameters by moving them all up to top-level optoins
15:26:48 [Norm]
...I'm worried that our current flexibility might allow user-specified parameters to cause XProc to go off the rails.
15:27:24 [Norm]
Henry: I'm somewhat sympathetic. The fact that we have as yet not said anything about parameters on the command line means we should give it careful thought.
15:27:33 [Norm]
...Even if it's implementation defined if they can be set on the command line.
15:28:42 [Norm]
Henry: With respect to options, the situation seems a bit more clear. But for parameters it seems less clear.
15:29:16 [Norm]
Henry: We're working on parameters against a background of assumptions that I think it was right for Alex to point out.
15:30:18 [Norm]
Norm: I don't think we can try to reach closure on this today, given how recently new proposals have surfaced.
15:30:35 [Norm]
...But I also don't think we can push out a new draft until we have resolved it, so that'll just have to wait a week or two.
15:30:53 [Norm]
Norm: Anything else on parameters this week?
15:30:57 [Norm]
Nope; let's take it back to email.
15:31:07 [Norm]
Topic: p:position() vs position()
15:32:07 [Norm]
Norm attempts to summarize the current state of play, conceding that he's been convinced by Jeni
15:32:27 [Norm]
Henry: I convinced myself that it has to be a function, but I don't think it's the XPath position() function.
15:33:03 [Norm]
Henry: It has to be a function because in the case where you have a step that accepts a sequence, the pipeline processor is only going to invoke the step once.
15:33:40 [Norm]
...It follows that there can't be a variable that has the binding because there's only one invocation so there's only one option to pass in the binding.
15:34:08 [MoZ]
q+ to add some argument *againt* position()
15:34:29 [Norm]
Henry: Inside a step, the way an expression can tell you your position must be a function.
15:34:49 [Norm]
q+ richard
15:34:51 [Norm]
ack MoZ
15:34:51 [Zakim]
MoZ, you wanted to add some argument *againt* position()
15:35:20 [Norm]
Mohamed: The use of position() requires that we define a context and I don't want to have to define a context.
15:36:04 [Norm]
Norm: I don't think that makes sense, the XPath 1.0 spec says the context exists and has five things in it.
15:36:10 [alexmilowski]
function vs variable really doesn't matter for establishing the XPath context... you'll still have to be clever if you want a clean API for your step implementors.... but I'm not going to argue against functions.
15:36:42 [Norm]
Henry: All we can do when mandating what components do when they evaluate XPaths is tell them what we make available in the context.
15:37:26 [Norm]
q+ to point out how p:position() doesn't work any better than position()
15:37:55 [alexmilowski]
15:37:59 [Norm]
ack richard
15:38:32 [Norm]
Richard: I'm now confused about how this whole thing is supposed to work. Henry is assuming that the step gets to go off and evaluate XPaths. I wasn't aware that that was how it was supposed to work.
15:38:55 [Norm]
...There's no way my steps can evaluate anything in the context of XProc.
15:39:28 [Norm]
Henry: There are certain options to certain of our steps who's static value is an XPath expression.
15:39:34 [Norm]
...these are expressions that the step must evaluate.
15:40:17 [Norm]
Richard: I was expecting the delete step to get run once for each of the matches
15:41:14 [Norm]
...Why does it matter if its a variable or a function?
15:41:59 [Norm]
...If you have a step that has a bunch of documents coming into it then in order to know inside the step what the position is implies that the implementation must be exactly synchronized with the input to the pipeline
15:42:21 [Norm]
Henry: I agree that we're getting on dangerous ground, but I think we have to.
15:42:58 [MoZ]
15:43:06 [Norm]
Some discussion of p:matching-documents
15:43:33 [Norm]
Richard: The case were it seems to be difficult is where you expect independent step writers to be able to determine which position in the sequence a document is.
15:44:14 [Norm]
15:45:45 [MoZ]
15:45:56 [Norm]
ack Norm
15:45:56 [Zakim]
Norm, you wanted to point out how p:position() doesn't work any better than position()
15:46:24 [Norm]
Norm: The p:position() function is essentially the same as the context position.
15:47:32 [ht]
Norm: For a step like matching-documents -- for the first doc. in the sequence the context will be a context node: the document; a context position: 1; a set of variable bindings, function bindings, etc.
15:48:02 [ht]
... for the next doc, change the first two to 'second document' and '2'
15:48:14 [ht]
... I missed 'context size' -- it's 1, 2, 3, . . .
15:48:41 [ht]
MZ: that approach to context size is why I don't like this proposal
15:48:54 [ht]
... It means 'last()' is wrong
15:49:29 [ht]
NW: But you have to give _something_ , so it will be wrong one way or another
15:50:05 [ht]
... the only alternative is to say you can't stream
15:50:29 [ht]
AM: You can't have a set of documents in XPath 1.0
15:50:57 [ht]
NW, RT: Yes you can -- a node set of document nodes, e.g. <xsl:for-each select="document(a)|document(b)">....
15:51:36 [alexmilowski]
Err... I didn't say you can't have a set of documents in XPath 1.0
15:52:04 [Norm]
Henry: we're going to say that conformant step implementations of steps which take document sequences as input must use this context.
15:52:14 [Norm]
...We're not saying that they're evaluating against a set.
15:52:47 [Norm]
Henry: When a step implementation of a step which takes sequence input evaluates an XPath against a context node which is one of the nodes in that sequence, then the rest of the context must look like htis.
15:52:53 [Norm]
15:53:28 [ht]
... where 'this' is what Norm said above
15:53:39 [Norm]
Richard: Am I right in thinking that although you have this context you can't get out to other documents.
15:54:17 [richard]
context size should be NaN
15:55:55 [alexmilowski]
"Uncle!" +1 for context position and the postion() funciton.
15:56:19 [alexmilowski]
15:56:50 [Norm]
Henry: Given the choice between saying you can't stream or saying last() will be wrong, I much prefer the latter
15:56:52 [Norm]
ack alexmilowski
15:57:15 [Norm]
Alex: Is there anything bad that can happen by using position()?
15:57:19 [Norm]
Norm: I don't think so.
15:57:25 [Norm]
Alex: I'm fine with it then.
15:57:29 [Norm]
ack MoZ
15:57:57 [Norm]
Mohamed: I still think that defining the context is a bad idea. Too many things will go against what people will find obvious.
15:58:04 [Norm]
...Node-set is very different from sequence.
15:58:23 [alexmilowski]
straw poll ?
15:58:54 [Norm]
...I think it's bad information to give to users to say that we use position() and the last() will be wrong.
16:00:48 [Norm]
Mohamed: Ok, I think I'm beginning to understand.
16:00:58 [Norm]
Richard: What did we agree to for determining if you're the last document?
16:01:01 [Norm]
Norm: We didn't.
16:01:56 [Norm]
Richard: So we could set the context size to the largest possible integer.
16:02:29 [ht]
... or 1+plus the context position()
16:02:58 [richard]
or +inf - who can tell whether it's an integer?
16:03:59 [ht]
Straw poll: Can live with using context position: RT, AM, AV, HT
16:04:04 [ht]
zakim, who is on the call?
16:04:04 [Zakim]
On the phone I see Norm, avernet, Ht, PGrosso, MoZ, richard, rlopes, Alex_Milowski, Andrew
16:04:06 [Norm]
I can live with it.
16:04:33 [ht]
RL, NW can live with
16:04:42 [ht]
PG and Andrew pass
16:04:46 [ht]
MZ against
16:05:23 [ht]
RT: The point is to ensure that position() never equals last()
16:05:28 [Norm]
Topic: Any other business
16:05:31 [Norm]
16:05:33 [Norm]
16:05:37 [Zakim]
16:05:39 [Zakim]
16:05:40 [Zakim]
16:05:41 [Zakim]
16:05:42 [Zakim]
16:05:44 [Zakim]
16:05:45 [Zakim]
16:05:47 [Zakim]
16:05:48 [Zakim]
XML_PMWG()11:00AM has ended
16:05:49 [Zakim]
Attendees were Norm, [IPcaller], Ht, avernet, PGrosso, MoZ, richard, rlopes, Alex_Milowski, Andrew
16:05:53 [PGrosso]
PGrosso has left #xproc
16:06:09 [Norm]
rrsagent, please set logs world visible
16:06:09 [RRSAgent]
I'm logging. I don't understand 'please set logs world visible', Norm. Try /msg RRSAgent help
16:06:15 [avernet]
avernet has left #xproc
16:06:17 [Norm]
rrsagent, set logs world-visible
16:06:21 [Norm]
rrsagent, draft minutes
16:06:21 [RRSAgent]
I have made the request to generate Norm
18:11:51 [Zakim]
Zakim has left #xproc
18:34:27 [Norm]
rrsagent, bye
18:34:27 [RRSAgent]
I see no action items