IRC log of xproc on 2007-05-10

Timestamps are in UTC.

14:45:11 [RRSAgent]
RRSAgent has joined #xproc
14:45:11 [RRSAgent]
logging to
14:45:30 [MSM]
MSM has joined #xproc
14:47:41 [Norm]
And I, you, MSM
14:47:49 [Norm]
Give my best to Tommie, Debbie, et. al.
14:48:02 [Norm]
BTW, I never got asked to review papers, but I'm always happy to, for future reference
14:54:27 [Norm]
Meeting: XML Processing Model WG
14:54:27 [Norm]
Date: 10 May 2007
14:54:27 [Norm]
14:54:27 [Norm]
Meeting number: 67, T-minus 25 weeks
14:54:27 [Norm]
Chair: Norm
14:54:28 [Norm]
Scribe: Norm
14:54:30 [Norm]
ScribeNick: Norm
14:59:02 [Norm]
Regrets: Rui, Michael
14:59:14 [Zakim]
XML_PMWG()11:00AM has now started
14:59:21 [Zakim]
14:59:37 [PGrosso]
PGrosso has joined #xproc
14:59:59 [MoZ]
MoZ has joined #xproc
15:00:00 [alexmilowski]
alexmilowski has joined #xproc
15:00:22 [Zakim]
15:01:04 [richard]
richard has joined #xproc
15:01:17 [Zakim]
15:01:28 [Norm]
Regrets: Rui, Michael, Mohamed
15:01:39 [Norm]
No worries, MoZ
15:01:46 [Zakim]
15:01:51 [richard]
zakim, ? is me
15:01:51 [Zakim]
+richard; got it
15:02:28 [ht]
zakim, please call ht-781
15:02:28 [Zakim]
ok, ht; the call is being made
15:02:30 [Zakim]
15:02:57 [Norm]
zakim, who's on the phone?
15:02:57 [Zakim]
On the phone I see Norm, PGrosso, Alex_Milows, richard, Ht
15:03:15 [Andrew]
Andrew has joined #xproc
15:03:45 [Norm]
Regrets: Rui, Michael, Mohamed, Alessandro
15:03:50 [Zakim]
15:03:52 [Andrew]
zakim, ? is Andrew
15:03:52 [Zakim]
+Andrew; got it
15:03:57 [MoZ]
thanks ht
15:04:03 [Norm]
Topic: Accept this agenda?
15:04:03 [Norm]
15:04:21 [Norm]
15:04:26 [Norm]
Topic: Accept minutes from the previous meeting?
15:04:26 [Norm]
15:04:33 [Norm]
15:04:39 [Norm]
Topic: Next meeting: telcon 17 May 2007
15:04:51 [ht]
15:04:57 [Norm]
Henry gives regrets
15:05:06 [Norm]
Topic: Open action items
15:05:22 [Norm]
Alex to craft a proposal on serialization, continued
15:05:33 [Norm]
Henry to write up pipeline state variables, completed.
15:05:42 [Norm]
Topic: Pipeline state variables
15:05:42 [Norm]
15:06:16 [Norm]
Norm: I think there was some confusion about [stepname]_index
15:06:27 [Norm]
Henry: The whole point of for-each is that there's no document sequence, you're getting them one at a time.
15:06:52 [Norm]
...Nonetheless, you may wish to know what iteration you're in.
15:07:51 [Norm]
Henry: Adding functions feels like something that makes me muck with the XPath impl, but adding variables to the context is something I can do from outside.
15:08:34 [Norm]
Henry: There are a bunch of other "environment" variable kinds of things which things like XSLT/XQuery make available: implementation, system, etc.
15:09:57 [Norm]
Norm: There's a function in XSLT: system-property
15:10:07 [Norm]
Paul: I use function-available all the time
15:10:10 [Norm]
Henry: Yes, we might want that
15:11:09 [Norm]
Norm: At the moment, we don't allow references to unknown steps, even behind a condtional.
15:11:55 [Norm]
Alex: It might be nice to say that I use this collection of steps and have a more discernable error.
15:12:29 [Norm]
Any other discussion of Henry's proposal?
15:12:40 [Norm]
Ok. Variables or functions?
15:12:56 [Norm]
Henry: I prefer variables, I think.
15:13:51 [Norm]
Norm: In JAXP API, it's about equally easy.
15:14:13 [Norm]
Richard: Might a processor work in such a way that it doesn't "restart" the evaluation between loops.
15:14:24 [Norm]
Henry: In the very least, the context has to change, so it shouldn't be hard to change variables even then.
15:14:46 [Norm]
Norm: I observe that other specs that extend XPath use functions.
15:15:56 [Norm]
Richard: So far I haven't seen anything that suggests it isn't like a variable.
15:16:09 [Norm]
...I observe that current() in XSLT is a function when presumably that could have been a variable.
15:16:46 [Norm]
Straw poll: Function or variable?
15:16:50 [Norm]
zakim, who's on the phone?
15:16:50 [Zakim]
On the phone I see Norm, PGrosso, Alex_Milows, richard, Ht, Andrew
15:17:20 [Norm]
Results: 2 functions, 3 variables, 1 abstain
15:17:34 [Norm]
Henry: I'd be happy to have a note requesting feedback.
15:17:53 [Norm]
Norm: Ok, variables for now with a "priority feedback" note.
15:18:19 [Norm]
Henry's proposal is accepted.
15:18:29 [Norm]
Topic: More questions about syntactic sugar
15:18:29 [Norm]
15:19:23 [Norm]
Jeni responded with a much grander proposal involving variables and attribute value templates.
15:20:10 [Norm]
Henry: I sympathize. I'm tempted to go all the way.
15:20:21 [Norm]
Alex: I'm sympathetic to the AVT story as well.
15:20:34 [Norm]
Henry: So href='banana' is the equivalent of name='href' value='banana'
15:20:48 [Norm]
...And href='{xxx}' is equivalent to name='href' select='xxx'
15:21:01 [Norm]
...And you get the probably irrelevant advantage that you don't have to use concat()
15:21:07 [Norm]
Alex: To users, that might be very nice.
15:21:34 [Norm]
Norm: I observe that if we do this, we'll need to say which attributes are AVTs
15:22:39 [Norm]
Henry: My inclination would be to say that we're playing on the edges here. We have no experience with which attributes can be AVTs.
15:24:15 [Norm]
Norm worries about the fact that references to documents will be quite different from an AVT perspective.
15:24:47 [Norm]
15:24:47 [Norm]
name = QName
15:24:47 [Norm]
select = XPath expression>
15:24:47 [Norm]
(p:pipe |
15:24:47 [Norm]
p:document |
15:24:48 [Norm]
15:24:50 [Norm]
15:25:36 [Norm]
Henry: the consequence of that for this story would mean that you couldn't do document references in AVTs.
15:25:48 [Norm]
Henry: For V1 I think we should only allow this for value=
15:26:08 [Norm]
...Giving users choices is bad; so I think I marginally prefer to allow it only on steps
15:26:44 [Norm]
Henry: You can use the super-abbreviated form on step for values that are constant.
15:27:44 [Norm]
Henry: My proposal is: no change to the option element, you can just put the value on the step itself.
15:27:46 [Norm]
...And only there
15:28:54 [Norm]
Norm: Yeah, but it wouldn't work for an option named "name" so maybe we should just ditch the whole thing.
15:29:00 [Norm]
Alex: It doesn't bother me.
15:29:39 [Norm]
Anyone uncomfortable?
15:30:27 [Norm]
Norm: Should we work this up into a draft and see what the public says?
15:30:36 [Norm]
Alex: And it's a static error if you specify the option twice.
15:30:40 [Norm]
15:30:43 [Norm]
15:31:05 [Norm]
Topic: Error codes for step errors
15:31:05 [Norm]
15:31:40 [Norm]
Norm: What error do I raise?
15:31:54 [Norm]
Henry: The builtin steps have to say what errors they raise.
15:32:39 [Norm]
Richard: I want it to be possible to use off-the-shelf implementations without having to delve into them to sort out their error returns.
15:32:55 [Norm]
...So I would be in favor of very generic errors that have some kind of detail inside them.
15:33:28 [Norm]
Norm: I'm happy with "step failed" and that's all you get.
15:33:42 [Norm]
Richard: If some steps need more detail then "ok" up to the point.
15:34:29 [Norm]
Alex: The error vocabulary is open so implmentors can add stuff if they want
15:34:57 [Norm]
Norm: Anyone uncomfortable with "there's an error code for step failed"?
15:35:04 [Norm]
Ok, that's what we'll do.
15:35:34 [Norm]
Topic: Pipelines that change attributes
15:35:34 [Norm]
15:37:01 [Norm]
Norm: The proposed solution seems odd to me, but clever in its way.
15:37:29 [Norm]
Henry: Maybe we need something that does this, but I don't want to call it viewport
15:37:48 [Norm]
Alex: There's lots of things we can't do. We'll always find new things. I'm not sure that this is worth doing for V1.
15:38:39 [Norm]
Henry: Richard, you have something like this, can you explain it?
15:38:52 [Norm]
Richard: lxreplace is a program that's intended for doing minor replacements on XML documents.
15:39:00 [Norm]
...We've talked before about streaming several of the microcomponents.
15:39:10 [Norm]
...I'm wondering if there's a case here for an extra microcomponent that's like string-replace.
15:39:45 [Norm]
...You have an xpath that can specify attributes or text nodes and it replaces their value with the result of evaluating that expression
15:39:54 [Norm]
Norm: We have that one. Jeni wants to manufacture attributes.
15:40:09 [Norm]
Richard: You could say that this is two separate steps, one that renames attributes and ones that changes strings.
15:40:57 [Norm]
Norm: Look at the example, it's got to construct attributes.
15:41:20 [Norm]
Henry: I think the answer is that we're not ready for this complexity yet.
15:41:26 [Norm]
Norm: Should we postpone this one for a while?
15:41:37 [Norm]
Henry: Yes, I'd say maybe even on the "someday" pile.
15:41:49 [Norm]
Richard: Given that it can be done with XSLT; streaming is just an optimizaiton.
15:41:56 [Norm]
15:42:36 [Norm]
Henry: I still do think that we should consider a not-very-micro component which specializes the standard XSLT design pattern of copying most of a document and changing something about 1 element.
15:42:45 [Norm]
...If/when we come back to this.
15:43:01 [Norm]
Richard: The for-each XSLT component is useful in many cases, but I'm not sure this example is one.
15:43:39 [Norm]
Topic: Fixed window use case
15:43:39 [Norm]
15:44:40 [Norm]
Henry: I've found on a number of occasions that it's useful to catagorize things in one step and wrap them in the next.
15:44:49 [Norm]
...With the semantic that they all get wrapped up together.
15:45:36 [Norm]
Henry: We have p:wrap that wraps things; the simple interpretation of what Mohamed wanted is to say there's an optional XPath which you can provide and as long as that value doesn't change, you don't close the wrapper.
15:45:49 [Norm]
Richard: And what happens when things cease to be siblings?
15:45:54 [Norm]
Henry: Then you close the wrapper.
15:46:32 [Norm]
Henry: Ignore comments, ignore PIs, ignore text nodes that contain just whitespace. Otherwise, anytime you hit something that doesn't match the XPath, or doesn't match its value, or isn't a sibling, you close the wrapper.
15:47:32 [Norm]
...My exmaple is the pipeline compiler that needs this; it decorates steps with something about whether or not there's a thread boundary needed. Then you wrap each group of steps in the same thread with a wrapper.
15:47:54 [Norm]
Richard: This is a group component?
15:48:04 [Norm]
Henry: It makes wrap something that can be used as a grouping component
15:48:27 [Norm]
Paul: Mohamed proposed another expression to identify the kinds of things you skip.
15:49:00 [Norm]
Norm: I think you'd still end at non-sibling boundaries
15:49:07 [Norm]
Henry: I don't think that's any harder than what I said.
15:49:25 [Norm]
...It's slightly tricky to write an XPath that detects all whitespace.
15:49:55 [Norm]
Henry: I'd like to think about that a little bit.
15:50:00 [MoZ]
15:50:09 [Norm]
Yes, but that's very expensive.
15:50:31 [Norm]
Norm: Your behavior could be the default
15:50:35 [Norm]
15:50:38 [Norm]
Paul: I like that.
15:50:45 [Norm]
Norm: Are we sold?
15:51:09 [Norm]
ACTION: Henry to propose wording for the spec.
15:51:09 [MoZ]
do we keep the ignore option ?
15:51:22 [Norm]
Yes, MoZ, I think so.
15:51:28 [Norm]
Topic: Empty compound steps
15:51:28 [Norm]
15:52:33 [Norm]
Norm outlines his concerns.
15:52:52 [Norm]
Henry: I think it's not obvious what some of the compound steps mean if they're empty.
15:53:58 [Norm]
Henry: I'm sympathetic.
15:54:04 [Norm]
Paul: It's not a big deal to me.
15:54:50 [Norm]
Norm: I'm not sure we need to have a nop step; you can always use identity.
15:54:56 [Norm]
Norm: Shall we outlaw empty compound steps.
15:54:58 [Norm]
Henry: I'm in favor.
15:55:15 [Norm]
15:55:24 [Norm]
Topic: Secondary output on XSLT 1.0 step
15:55:24 [Norm]
15:56:37 [Norm]
Alex: I'm happy to do it.
15:56:39 [Norm]
Henry: I agree.
15:57:04 [Norm]
15:58:53 [Norm]
Topic: Any other business
15:59:04 [Norm]
New public draft in two weeks?
15:59:06 [Norm]
General agreement
15:59:09 [MoZ]
? topic 8
15:59:10 [Norm]
15:59:11 [Zakim]
15:59:13 [Zakim]
15:59:13 [Zakim]
15:59:14 [Zakim]
15:59:14 [Zakim]
15:59:16 [Zakim]
XML_PMWG()11:00AM has ended
15:59:17 [Zakim]
Attendees were Norm, PGrosso, Alex_Milows, richard, Ht, Andrew
15:59:20 [Norm]
rrsagent, set logs world-visible
15:59:24 [Norm]
rrsagent, draft minutes
15:59:24 [RRSAgent]
I have made the request to generate Norm
16:01:28 [PGrosso]
PGrosso has left #xproc
17:34:41 [MoZ]
MoZ has joined #xproc
18:04:40 [Zakim]
Zakim has left #xproc