IRC log of xproc on 2007-05-03

Timestamps are in UTC.

14:46:10 [RRSAgent]
RRSAgent has joined #xproc
14:46:10 [RRSAgent]
logging to http://www.w3.org/2007/05/03-xproc-irc
14:46:18 [MoZ]
Zakim, what is the code ?
14:46:18 [Zakim]
the conference code is 97762 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), MoZ
14:51:23 [avernet]
avernet has joined #xproc
14:56:11 [PGrosso]
PGrosso has joined #xproc
14:57:54 [Zakim]
XML_PMWG()11:00AM has now started
14:58:01 [Zakim]
+Norm
14:58:15 [Norm]
Norm has joined #xproc
14:58:37 [Norm]
zakim, this is xproc
14:58:37 [Zakim]
Norm, this was already XML_PMWG()11:00AM
14:58:38 [Zakim]
ok, Norm; that matches XML_PMWG()11:00AM
14:58:47 [MoZ]
MoZ has changed the topic to: http://www.w3.org/XML/XProc/2007/05/03-agenda.html
14:58:59 [Norm]
ty MoZ
14:59:16 [Norm]
Meeting: XML Processing Model WG
14:59:16 [Norm]
Date: 3 May 2007
14:59:16 [Norm]
Agenda: http://www.w3.org/XML/XProc/2007/05/03-agenda.html
14:59:16 [Norm]
Meeting number: 66, T-minus 26 weeks
14:59:17 [Norm]
Chair: Norm
14:59:19 [Norm]
Scribe: Norm
14:59:21 [Norm]
ScribeNick: Norm
14:59:44 [Zakim]
+ +95247aaaa
14:59:53 [MoZ]
Zakim, aaaa is MoZ
14:59:54 [Zakim]
+MoZ; got it
14:59:57 [ht]
ht has joined #xproc
15:00:31 [avernet]
avernet has joined #xproc
15:00:58 [Zakim]
+Alessandro_Vernet
15:01:12 [Zakim]
+[ArborText]
15:02:00 [Andrew]
Andrew has joined #xproc
15:02:13 [ht]
zakim, please call ht-781
15:02:18 [Zakim]
ok, ht; the call is being made
15:02:20 [Zakim]
+Ht
15:02:28 [Norm]
Regrets: Richard
15:02:35 [Zakim]
+??P14
15:02:38 [Norm]
zakim, who's on the phone?
15:02:38 [Zakim]
On the phone I see Norm, MoZ, Alessandro_Vernet, PGrosso, Ht, ??P14
15:02:43 [Norm]
zakim, ??P14 is Andrew
15:02:43 [Zakim]
+Andrew; got it
15:02:59 [Norm]
Regrets: Richard, Rui
15:03:14 [Norm]
MSM, are you joining us today?
15:03:43 [Norm]
Present: Norm, Mohamed, Alessandro, Paul, Henry, Andrew
15:03:57 [Norm]
Topic: Accept this agenda?
15:03:57 [Norm]
-> http://www.w3.org/XML/XProc/2007/05/03-agenda.html
15:04:05 [Norm]
Accepted.
15:04:12 [MSM]
zakim, please call MSM-Office
15:04:12 [Zakim]
ok, MSM; the call is being made
15:04:13 [Zakim]
+MSM
15:04:14 [Norm]
Topic: Accept minutes from the previous meeting?
15:04:14 [Norm]
-> http://www.w3.org/XML/XProc/2007/04/04/26-minutes.html
15:04:18 [Zakim]
+Alex_Milows
15:04:28 [Norm]
Accepted.
15:04:35 [Norm]
Present: Norm, Mohamed, Alessandro, Paul, Henry, Andrew, Michael, Alex
15:04:44 [Norm]
Topic: Next meeting: telcon 10 May 2007
15:05:03 [alexmilowski]
alexmilowski has joined #xproc
15:05:05 [Norm]
We have regrets from Rui, Alessandro, Michael
15:05:24 [Norm]
Topic: Open action items
15:05:37 [MSM]
zakim, mute me
15:05:37 [Zakim]
MSM should now be muted
15:05:43 [Norm]
Henry to propose a debugging alternative to p:tee
15:05:44 [Norm]
Completed.
15:05:49 [Norm]
Alex to craft a proposal on serialization
15:05:51 [Norm]
Continued.
15:06:02 [Norm]
Topic: Options vs parameters
15:06:02 [Norm]
-> http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0023.html
15:07:08 [Norm]
Henry: I think Richard and I are alike in being sympathetic to Jeni's use cases, we're getting things out of proportion here.
15:07:16 [Norm]
...XSLT is the only step that uses parameters at all.
15:07:40 [Norm]
...The simplest possible mechanism which allows them to work is therefore the best solution.
15:08:09 [Norm]
...I propose: http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0061.html
15:08:41 [Norm]
Henry: Amended with the ability to unbind parameters.
15:08:53 [Norm]
http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0061.html
15:09:07 [Norm]
Henry: p:parameter is the only thing there is to do with parameters.
15:09:24 [Norm]
...All you can do is give them a value or ungive them a value. No namespace changing; no importing, no declaring. Nothing.
15:09:45 [Norm]
... The analogy Richard draws is with the environment and shell scripts.
15:09:57 [Norm]
... They're a single, global space and you can give them values and take them away and that's it.
15:10:42 [Norm]
Henry: All the proposals about options are correct, I'm only arguing for a radically simpler parameter story.
15:11:03 [Norm]
Alex: We have three steps that use parameters: XQuery and both XSLT's.
15:11:24 [Norm]
...I've been thinking about serialization parameters; we could use parameters for that.
15:11:35 [Norm]
...I think there are a lot of things where parameters are going to be useful.
15:11:43 [Norm]
...Including step types that we aren't defining.
15:12:24 [Norm]
Henry: I agree with the position that Norm and Jeni agreed with is that the crucial thing about them is that you don't know much about them
15:13:44 [Norm]
Henry: The difference between what we have today and my proposal is get rid of import-parameter and parameter declarations.
15:13:57 [Norm]
Alessandro: So import-parameters is done automatically?
15:14:11 [Norm]
Henry: Yes, all the in-scope parameters are always availble.
15:14:16 [Norm]
Alessandro: Why?
15:14:33 [Norm]
Henry: Because all of the examples we've seen so far have import-parameters = "*"
15:14:44 [Norm]
Alex: And your implementation always has all the parameters available.
15:15:29 [Norm]
Norm: And how does undeclare work?
15:15:57 [Norm]
Henry: Making sure a parameter doesn't have a value seems like a marginal case, but I'd read <p:parameter name="foo"/> as an unbinding.
15:16:01 [Norm]
Alex: That's a little weird.
15:16:07 [Norm]
Henry: But value="" is perfectly sensible.
15:17:43 [Norm]
Norm: My concern is that one of the things I think XProc is going to be used for quite a bit is chaining together multiple XSLT steps. And most stylesheet authors put all their parameters in no namespace. So the proposal you're making, Henry, begs for collisions.
15:18:32 [Norm]
Alex: Looking at your example, the select="$per-page" will still be legal.
15:20:01 [Norm]
Henry: I think packaging up lots of XSLT steps is something we're going to do a lot, but I almost never use parameters from the command line for any of my XSLT stylesheets.
15:20:32 [Norm]
...Doing so is a dodgy business. If you're writing a carefully constructed pipeline to do a task, you'll know what the parameters are.
15:21:03 [Norm]
Alex: You can solve the random parameters from the command line use case with options or by massaging the stylesheet as part of the pipeline.
15:21:25 [Zakim]
-MSM
15:21:36 [Norm]
Norm: I'm in favor of simple, and I'm willing to float Henry's proposal to the public and see what they say.
15:22:43 [Norm]
Henry: What I think this will also really help our users. The way we were headed, with all this duplication, looked parallel but wasn't. Users were going to be baffled by the question of when do I use which.
15:23:17 [Norm]
Norm: I'm convinced that this proposal is sufficiently simple that we should try it.
15:23:19 [Norm]
Alex: Me to.
15:23:31 [MoZ]
s/to/too/
15:23:32 [Norm]
Alessandro: Me too, but I'm concerned about this automatic import of parameters.
15:24:08 [Norm]
...Why not just make users list all the parameters explicitly.
15:24:15 [Norm]
s/explicitly./explicitly?/
15:24:19 [MoZ]
q+
15:24:40 [Norm]
Henry: What could possibly go wrong from passing all the parameters?
15:24:58 [Norm]
...The only case that we're worried about is the case where you know that there's a collision between two stylesheets in the same pipeline.
15:25:09 [Norm]
...Alex pointed out that you can protect them if you know that's the cas.e
15:25:14 [alexmilowski]
http://www.w3.org/XML/XProc/docs/langspec.html#dt-in-scope-parameters
15:25:14 [Norm]
s/cas.e/case./
15:26:03 [Norm]
Alex: You already have a set of parameters in the environment. Then there's a derivation done to compute the actual parameters for each step.
15:26:32 [Norm]
...The actual parameters are the same as the in-scope parameters and you're done.
15:26:58 [Norm]
...The worst case is that you have to bind a bunch of extra parameters.
15:27:33 [MoZ]
q++
15:27:41 [Norm]
Alessandro: I guess I'm not worried about implementation, I'm just thinking about programming languages.
15:27:53 [Norm]
...Generally when you call a function, you enumerate the parameters that you're passing.
15:27:58 [Norm]
Henry: Exactly, that's what options are for.
15:28:12 [Norm]
Alessandro: You don't usually have all the parameters. It could be a security issue, there are lots of reasons.
15:28:44 [MoZ]
q+ to remind why we split options and parameters
15:28:47 [Norm]
Henry: You have to declare the options that you accept, you have to pass them explicitly, etc. Parameters are this funny business that we only have because of XSLT and its friends.
15:28:48 [Norm]
q?
15:28:56 [Norm]
ack moz
15:28:56 [Zakim]
MoZ, you wanted to remind why we split options and parameters
15:28:57 [Norm]
ack +
15:29:09 [Norm]
Mohamed: I think we missed the point about why we split options and parameters in the first place.
15:29:36 [Norm]
...We were thinking about collisions between parameters that were for steps and options that were for the pipeline processor.
15:29:46 [Norm]
Henry: Options are in a separate space; we've solved that problem.
15:30:00 [Norm]
Mohamed: I'm speaking options declared in the spec.
15:30:12 [Norm]
Henry: But they're in a separate space from the names of parameters; that's not going to change.
15:30:45 [Norm]
Henry: If there's a stylesheet that takes a parameter named "filename", no option can collide with that.
15:31:21 [Norm]
Mohamed: Consider this example: I have a pipeline with two XSLT steps. I want to make a parameter that called "filename" for the two steps.
15:31:39 [Norm]
Henry: Then you write in each step:
15:31:46 [ht]
<p:parameter name='filename' value='$o1'/>
15:32:00 [ht]
<p:parameter name='filename' value='$o2'/>
15:32:15 [Norm]
Henry: where o1 and o2 are *options* that you pass to your pipeline.
15:32:18 [ht]
and say runipipe o1=x.xml o2=y.xml
15:32:36 [Norm]
Mohamed: The second point was that one day in import parameter we might have an "except" parameter.
15:32:45 [Norm]
s/parameter/option/
15:33:00 [Norm]
s/option/attribute/
15:33:07 [alexmilowski]
The only feature we don't have is the one that Norm mentioned: Pass all options in namespace A as parameters to XSLT A and all options in namespace B as parameters to XSLT B.
15:33:14 [alexmilowski]
...which is OK by me.
15:33:18 [ht]
<p:unbind-parameter name='foo'/>
15:33:35 [Norm]
Henry: if you really, really want to make sure that no parameter named foo gets into a particular step, then you write something like p:unbind-parameter.
15:34:04 [Norm]
Henry: I'd be happier if a I saw a use case.
15:34:33 [Norm]
Norm: I'd be happier to write it up without that feature and see if the world demands it.
15:34:38 [Norm]
Henry: It's clear how we could add it.
15:35:25 [Norm]
Norm summarizes the proposal.
15:35:51 [Norm]
Alex: And sibling options cannot refer to each other.
15:37:00 [Norm]
Norm: I understood that we have no forward references.
15:37:09 [Norm]
Norm: Let's make that a separate issue.
15:37:29 [Norm]
Norm: Anyone not understand our current proposal wrt options/parameters?
15:37:30 [Norm]
No.
15:37:31 [Norm]
Accepte.d
15:37:38 [Norm]
s/te.d/ted./
15:38:55 [Norm]
Norm: I propose to skip item 2; Alex has an open action to propose something about serialization; I think we should just put all these things in that proposal.
15:39:19 [Norm]
Alex: I think we've accepted the names unescape-markup and escape-markup, so I think we can drop that issue.
15:39:23 [Norm]
Norm: good.
15:39:38 [Norm]
Topic: p:tee proposal or alternate debugging proposal
15:39:38 [Norm]
-> http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007Apr/0138.html
15:39:38 [Norm]
-> http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0060.html
15:39:57 [ht]
HST suggests that the right strategy wrt the 'sibling options' question is to a) be sure that wherever we allow an XPath expression in the spec., we specify the XPath context and b) the answer wrt options is "the options in the inherited environment"
15:40:25 [Norm]
Henry: I raised the question of whether a component was the right way to do this.
15:40:33 [Norm]
...Or to think of it more as an annotation.
15:41:23 [Norm]
Henry: I offered two proposals.
15:42:02 [Norm]
...The question is, at which end do you want to do the logging/journaling.
15:42:14 [Norm]
...One answer is: you do it at the place where the document comes from.
15:43:08 [Norm]
...So you could add <p:journal port="result" href="someURI"/>
15:43:22 [Norm]
Henry: That doesn't require any changes, you just add that.
15:43:53 [Norm]
Henry: The alternative is to go to the other end; on the input binding you could add a journal attribute.
15:44:00 [MSM]
zakim, please call MSM-Office
15:44:00 [Zakim]
ok, MSM; the call is being made
15:44:02 [Zakim]
+MSM
15:44:10 [Norm]
<p:pipe step="s1" port="result" journal="someURI"/>
15:44:36 [Norm]
Henry: The disadvantage is that it requires you to put in a p:input with explicit names and things because it can't all be defaulted.
15:44:46 [Norm]
Henry: On balance, I think I favor the first over the second.
15:45:42 [Norm]
Henry: So there are three proposals: a new component, p:tee or something; p:journal element in a step; or the journal attribute which you can add to pipes.
15:46:23 [Norm]
Norm: Anyone else have an opinion?
15:47:27 [Norm]
Alex: The advantage of the builtin solution is that makes solving the sequence problem easier.
15:47:57 [Norm]
Henry: The thing that swung me to option 1 is that you have to add two elements and maybe a name to use a journal attribute in a fully defaulted pipeline.
15:49:36 [Norm]
Norm: Does anyone favor Henry's option 2 over his option 1?
15:49:37 [Norm]
No one.
15:50:02 [Norm]
Straw poll: Which do you prefer, the builtin journaling solution or a letting a component do it?
15:50:18 [Norm]
zakim, who's on the phone?
15:50:18 [Zakim]
On the phone I see Norm, MoZ, Alessandro_Vernet, PGrosso, Ht, Andrew, MSM, Alex_Milows
15:52:05 [Norm]
Journaling: 6; Step: 1; 1 Abstain (2 concur)
15:52:24 [Norm]
Norm: Anyone who can't live with the journaling element?
15:52:26 [Norm]
No.
15:52:44 [Norm]
Norm: And sequences?
15:53:12 [MoZ]
$p:position
15:53:58 [Norm]
Henry: I think we should provide options that are always bound in an iteration and use attribute value templates to let the user specify how to deal with it.
15:54:11 [Norm]
Norm: We don't have AVTs. Do you really want to add them for this?
15:54:27 [ht]
href="'foo.xml'"
15:54:38 [Norm]
Henry: I'd be perfectly happy to say that the value of the href is an XPath expression, but then the 90% case is "'xxx'".
15:54:51 [ht]
href="concat('foo',$p:position,'.xml')"
15:54:58 [Norm]
Norm: I have another: implementation defined.
15:55:30 [Norm]
Henry: I can live with that, but I think that having iteration and sequence number variables in the environment is going to turn out to be hugely useful.
15:55:51 [Norm]
Norm: This is Mohamed's p:position everywhere right?
15:56:07 [Norm]
Henry: Yes, but I think we're also going to need named index iterations for nested for-eaches.
15:56:13 [Norm]
Henry: we need both.
15:56:53 [ht]
for iteration step name='foo', there an option p:foo_i is bound
15:57:30 [ht]
s/there an/then an/
15:58:01 [Norm]
Norm: I'm starting to feel like functions are a better way to do this than automatic variable bindings.
15:58:15 [Norm]
Mohamed: We have to figure out what it means to evaluate an XPath expression on a sequence.
15:58:16 [ht]
<p:input select="foo">
15:58:28 [ht]
<p:pipe step='s' port='p'/>
15:58:31 [ht]
</p:input>
15:58:54 [Norm]
...If we say that it's the same as evaluating the expression over each document in the sequence, then functions and variables are the same.
15:59:48 [Norm]
Norm: I'm still not sure I understand.
16:00:13 [Norm]
Henry: At the end of the day, what I want is a third variable or function which is unique per pipeline evaluation episode.
16:00:30 [Zakim]
-MSM
16:01:00 [Norm]
ACTION: Henry to write up all the variables/functions he wants.
16:01:10 [Norm]
Topic: Any other business
16:02:04 [Norm]
Henry: Are we meeting in November?
16:02:11 [Norm]
Norm: I think we said yes, but I'll double check.
16:02:17 [Norm]
Adjourned.
16:02:20 [Zakim]
-Ht
16:02:22 [Zakim]
-Norm
16:02:23 [Zakim]
-Alessandro_Vernet
16:02:23 [Zakim]
-PGrosso
16:02:24 [Zakim]
-MoZ
16:02:26 [Zakim]
-Alex_Milows
16:02:28 [Zakim]
-Andrew
16:02:29 [Zakim]
XML_PMWG()11:00AM has ended
16:02:30 [Zakim]
Attendees were Norm, +95247aaaa, MoZ, Alessandro_Vernet, PGrosso, Ht, Andrew, MSM, Alex_Milows
16:02:32 [Norm]
rrsagent, set logs world-visible
16:02:38 [Norm]
rrsagent, draft minutes
16:02:38 [RRSAgent]
I have made the request to generate http://www.w3.org/2007/05/03-xproc-minutes.html Norm
16:03:24 [PGrosso]
PGrosso has left #xproc
16:04:46 [Norm]
rrsagent, draft minutes
16:04:46 [RRSAgent]
I have made the request to generate http://www.w3.org/2007/05/03-xproc-minutes.html Norm
17:23:31 [Norm]
rrsagent, bye
17:23:31 [RRSAgent]
I see 1 open action item saved in http://www.w3.org/2007/05/03-xproc-actions.rdf :
17:23:31 [RRSAgent]
ACTION: Henry to write up all the variables/functions he wants. [1]
17:23:31 [RRSAgent]
recorded in http://www.w3.org/2007/05/03-xproc-irc#T16-01-00
17:23:33 [Norm]
zakim, bye
17:23:33 [Zakim]
Zakim has left #xproc