IRC log of xproc on 2009-10-22

Timestamps are in UTC.

14:56:14 [RRSAgent]
RRSAgent has joined #xproc
14:56:14 [RRSAgent]
logging to
14:56:16 [Norm]
Zakim, this will be xproc
14:56:16 [Zakim]
ok, Norm; I see XML_PMWG()11:00AM scheduled to start in 4 minutes
14:56:19 [Norm]
Meeting: XML Processing Model WG
14:56:19 [Norm]
Date: 22 Oct 2009
14:56:19 [Norm]
14:56:19 [Norm]
Meeting: 157
14:56:19 [Norm]
Chair: Norm
14:56:20 [Norm]
Scribe: Norm
14:56:22 [Norm]
ScribeNick: Norm
14:57:02 [Zakim]
XML_PMWG()11:00AM has now started
14:57:04 [Zakim]
15:00:38 [Zakim]
15:00:41 [Zakim]
15:00:43 [Zakim]
15:01:25 [ht]
zakim, please call ht-781
15:01:46 [Zakim]
ok, ht; the call is being made
15:01:50 [Zakim]
15:02:52 [Zakim]
15:07:33 [Norm]
Zakim, who's on the phone?
15:07:33 [Zakim]
On the phone I see Norm, MoZ, Ht, PGrosso
15:07:41 [Norm]
Present: Norm, Mohamed, Henry, Paul
15:07:46 [Norm]
Topic: Accept this agenda?
15:07:46 [Norm]
15:07:50 [Norm]
15:08:24 [Norm]
Norm: Can we talk about the meaning of an unavailable binding on p:with-option and p:with-param?
15:08:31 [Norm]
Topic: Accept minutes from the previous meeting?
15:08:31 [Norm]
15:08:36 [Norm]
15:08:40 [Norm]
Topic: Next meeting: telcon 31 Oct 2009
15:08:50 [Norm]
s/31 Oct/29 Oct/
15:09:00 [Norm]
Paul gives regrets.
15:09:28 [Norm]
Norm: Telcon of 5 November is cancelled.
15:09:55 [Norm]
Topic: Telcon facilities at TPAC
15:09:58 [Norm]
Norm: Confirmed.
15:10:21 [Norm]
Topic: XProc versioning proposals
15:10:51 [Norm]
15:11:13 [Norm]
Norm summarizes
15:11:37 [Vojtech]
Vojtech has joined #xproc
15:13:27 [Zakim]
15:13:51 [Norm]
Present: Norm, Mohamed, Henry, Paul, Vojtech
15:13:57 [MoZ]
15:15:07 [Norm]
Norm: Three clearly open questions: where is @version allowed, does use-when count inside a p:inline, do we do any static analysis on p:when/p:try blocks when they contain invalid steps.
15:15:31 [Norm]
Norm: Any other questions or comments?
15:15:41 [Norm]
Vojtech: What about the importing of the standard step library.
15:16:07 [Norm]
Norm: I think we should not allow importing of declarations for the builtin steps.
15:16:10 [Norm]
Henry: I think that's right.
15:16:23 [Norm]
Henry: On a larger scale, I'm uncomfortable with the upward percolating invalid story.
15:16:38 [Norm]
...I worry that it isn't complete or correct. I would like to identify that aspect of this proposal as a feature at risk.
15:16:54 [Norm] that we can jettison it without going back to last call again again if we remove it.
15:18:28 [Norm]
Norm: I'm perfectly happy to do that, but I can't think of any static meaning for a subpipeline with an invalid step that will absolutely be executed.
15:18:58 [Norm]
Henry: Right. I think use-when is the only thing that will work and I want to be able to jettison all the invalid stuff without going back to last call.
15:19:07 [Norm]
Vojtech: I agree with Henry, I thnk the results are going to be unpredictable.
15:19:10 [Norm]
15:19:35 [Norm]
Norm: Ok. I'm happy with that. Or we could just pull it all out now.
15:19:57 [Norm]
Vojtech: There's still this story about the unknown ports. You have steps that you recognize but they have unknown ports.
15:20:07 [Norm]
...We could say you have to use use-when there, or we could keep the new story about defaults.
15:20:56 [Norm]
Henry: The motivation for doing our best here came from Jeni.
15:21:02 [Norm]
Norm: Jeni is happy with the proposal:
15:21:29 [Norm]
More discussion.
15:22:51 [Norm]
Norm mumbles about some folks wanting to be able to use pipelines without changing them.
15:23:11 [Norm]
Norm uses the "messages" output port on p:xslt as an example.
15:23:40 [Norm]
Henry: That use case is interesting becauase it doesn't need a p:choose. You don't get the messages, but maybe you're willing to live with that.
15:23:54 [Norm]
...I can just about see that. But I think as far as the steps I've never heard of story, that's never going to work.
15:23:59 [Norm]
...There's never going to be a graceful fallback.
15:24:56 [Norm]
...If we're not going to do the whole thing, I think the new ports case is worth keeping, but lose all the "upward percolation" of invalid p:* steps.
15:25:15 [MoZ]
15:25:32 [Norm]
Vojtech: If the processor sees an unknown step from the p: namespace, I think you just can't know what it means. I would force the pipeline author to use use-when in that case.
15:25:47 [Norm]
...But if the pipeline contains only known steps with new ports, then I think the simple defaulting story can be made to work there.
15:26:07 [Norm]
...It's not hard to implement and it's predictable.
15:26:25 [Norm]
Norm: Does anyone want to argue for the more complicated story on this call right now.
15:28:45 [Norm]
Henry: I think the fact that you can't tell if the first child of a p:declare-step is a new step or some sort of new name for p:variable makes it very hard to decide what to do.
15:28:56 [Norm]
Vojtech: There may be unknown elements that effect the dependency graph.
15:29:40 [Norm]
Norm: Ok. I'm willing to concede that use-when and the more complicated invalidation store are two ways to do the same thing.
15:30:49 [Norm] maybe we should just do the simpler thing. You *have* to change the pipeline in some way, so you might as well change it in the way that's completely predictable.
15:31:22 [Norm]
Norm: So the proposal on the table now is the one I made, modified to remove the "upwards percolating" invalid story for unknown step types.
15:31:30 [Norm]
Vojtech: For unknown XProc elements.
15:31:48 [Norm]
Norm: Is anyone unhappy with that change?
15:32:25 [Norm]
Mohamed: I think I still have to go through. My former proposal was to try to get rid of use-when. My understanding is that use-when is pretty hard for users to understand.
15:32:49 [Norm]
...So I think I just cannot agree without knowing what we're going to say about use-when.
15:33:03 [Norm]
Henry: In almost any case, the outcome of this discussion is going to be a new draft.
15:34:52 [Norm]
Mohamed: My idea is that the use-when should not be used everywhere. It should have another name. And it should only be used on when or try/catch.
15:35:04 [Norm]
...A use-when is way more poweful than the problem we have to solve.
15:35:58 [Norm]
Norm: We could do that, but I'm not sure it's necessary.
15:37:11 [Norm]
Mohamed: I think we should just say that if the attribute "must-understand" is provided on p:when, then this branch shouldn't be analyzed in V.x. It's use-when but it's less powerful and solves just the use case we have.
15:38:02 [Norm]
Vojtech: One problem with this story is, suppose in V2 we introduce a new element for an option or something and that one you can't put in a p:choose. You can do that only with steps.
15:38:49 [Norm]
Henry: If we go back to the original observation that we're trying to handle the unexpected, a simple, general mechanism is probably the best approach.
15:39:28 [Norm]
...The other thing is, there's a lot to be said for leveraging experts understanding of difficult material and use-when is already there.
15:39:57 [Norm]
Norm: I think that's a good point.
15:41:13 [Norm]
Vojtech: What I like about the use-when proposal is that it's something that will be valid in new versions.
15:41:46 [Norm]
...We could ask on xproc-dev
15:43:05 [Norm]
Mohamed: I want to have an explicit mechanism, but I think use-when is a real nightmare for tools that help users build their pipeline.
15:43:47 [Norm]
Henry: I don't have much experience with use-when in XSLT, but the semantics seem quite clear to me.
15:44:01 [Norm]
...It's the opposite of XInclude, "this tree isn't here."
15:44:26 [Norm]
...I can see where some some complexity might arise in XSLT with templates and literal constructors, but we don't have that problem.
15:45:38 [Norm]
Mohamed: My problem is that we can make pipelines that will have completely different connections depending on the version of XProc that you're using: consider putting use-when on a p:pipe inside a p:source.
15:46:05 [Norm]
Norm: I think Mohamed's point is that you can nest two effectively completely different pipelines in the same file.
15:47:20 [Norm]
Vojtech: It's true that use-when is a tool for forwards-compatibility, but it's also a much more general tool: you can use it to make pipelines that are compatible across different implementatins. I don't know if that's good or bad.
15:48:39 [Norm]
Norm: I appreciate that Mohamed has reservations, but I don't hear consensus moving away from use-when on this call.
15:49:15 [Norm]
Norm: I'd like to say that the consensus of the wG seems to be that they want to see a draft with use-when, so let's try to move forward that way.
15:49:56 [Norm]
Norm: So let's close the open questions. Where is a version attribute allowed?
15:50:48 [Norm]
Norm: Proposal: On p:pipeline, p:library, and p:declare-step. No where else. And required on the document element of a pipeline document.
15:51:10 [Norm]
Norm: I can live with that.
15:51:20 [Norm]
15:51:30 [Norm]
Norm: Second question: what are the semantics of use-when inside a p:inline?
15:52:05 [Norm]
Norm: Proposal: it's treated just like any other attribute and has no special semantics.
15:52:55 [Norm]
Vojtech: So take the http-request step, suppose we add something to the c:request element.
15:53:10 [Norm]
Norm: You wouldn't be able to do that all in p:inline, you'd have to build it up in some explicit way.
15:53:36 [Norm]
15:54:02 [Norm]
Norm: We're throwing out the whole backwards-chaining invalidation story, so the last question no longer applies.
15:54:46 [Norm]
Vojtech: We already decided that importing the standard library is not allowed.
15:54:49 [Norm]
Norm: Yes
15:54:54 [Norm]
Norm: Anyone object to that?
15:54:56 [Norm]
None heard.
15:55:06 [Norm]
ACTION: Editor to write this up as a new draft.
15:55:51 [Norm]
Topic: Any other business?
15:56:31 [Norm]
None heard.
15:56:38 [Norm]
15:56:39 [Zakim]
15:56:40 [Zakim]
15:56:40 [Zakim]
15:56:41 [Zakim]
15:56:45 [Zakim]
15:56:46 [Zakim]
XML_PMWG()11:00AM has ended
15:56:47 [Zakim]
Attendees were Norm, MoZ, Ht, PGrosso, Vojtech
15:56:48 [PGrosso]
PGrosso has left #xproc
15:56:51 [Norm]
RRSAgent, set logs world-visible
15:56:56 [Norm]
RRSAgent, draft minutes
15:56:56 [RRSAgent]
I have made the request to generate Norm
17:13:57 [Zakim]
Zakim has left #xproc