IRC log of xproc on 2007-02-01

Timestamps are in UTC.

15:42:49 [RRSAgent]
RRSAgent has joined #xproc
15:42:49 [RRSAgent]
logging to
15:42:51 [Zakim]
Zakim has joined #xproc
15:42:55 [Norm]
zakim, this will be xproc
15:42:56 [Zakim]
ok, Norm; I see XML_PMWG()11:00AM scheduled to start in 18 minutes
15:48:12 [rlopes]
rlopes has joined #xproc
15:55:34 [PGrosso]
PGrosso has joined #xproc
15:58:43 [alexmilowski]
alexmilowski has joined #xproc
15:59:38 [Alessandro]
Alessandro has joined #xproc
16:00:41 [Norm]
zakim, what's the passcode?
16:00:41 [Zakim]
the conference code is 97762 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), Norm
16:00:50 [Zakim]
XML_PMWG()11:00AM has now started
16:00:57 [Zakim]
+ +1.650.786.aaaa
16:01:00 [Zakim]
16:01:06 [Zakim]
- +1.650.786.aaaa
16:01:07 [Zakim]
+ +1.650.786.aaaa
16:01:23 [Zakim]
16:01:26 [Alessandro]
zakim, [ is Alessandro
16:01:26 [Zakim]
+Alessandro; got it
16:01:38 [Zakim]
16:01:46 [rlopes]
Zakim, [I is me
16:01:49 [Zakim]
+rlopes; got it
16:01:49 [richard]
richard has joined #xproc
16:01:56 [ht]
zakim, please call ht-781
16:01:59 [Zakim]
ok, ht; the call is being made
16:02:01 [Zakim]
16:02:11 [Norm]
zakim, who's on the phone?
16:02:11 [Zakim]
On the phone I see +1.650.786.aaaa, PGrosso, Alessandro, rlopes, Ht
16:02:18 [Norm]
zakim, aaaa is Norm
16:02:18 [Zakim]
+Norm; got it
16:02:34 [Zakim]
16:02:36 [richard]
zakim, ? is richard
16:02:36 [Zakim]
+richard; got it
16:02:49 [Zakim]
16:03:06 [Norm]
Meeting: XML Processing Model WG
16:03:06 [Norm]
Date: 1 Feb 2007
16:03:06 [Norm]
16:03:06 [Norm]
Meeting: 53, T-minus 39 weeks
16:03:06 [Norm]
Chair: Norm
16:03:07 [Norm]
Scribe: Norm
16:03:09 [Norm]
ScribeNick: Norm
16:03:15 [AndrewF]
AndrewF has joined #xproc
16:03:54 [Norm]
zakim, who's on the phone?
16:03:54 [Zakim]
On the phone I see Norm, PGrosso, Alessandro, rlopes, Ht, richard, Alex_Milowski
16:04:03 [Zakim]
16:04:09 [Norm]
Present: Norm, Paul, Alessandro, Rui, Henry, Richard, Alex, Andrew
16:04:13 [Norm]
zakim, ??P38 is Andrew
16:04:13 [AndrewF]
zakim, ? is AndrewF
16:04:13 [Zakim]
+Andrew; got it
16:04:14 [Zakim]
sorry, AndrewF, I do not recognize a party named '?'
16:04:25 [Norm]
Regrets: Murray
16:04:41 [Norm]
Topic: Accept this agenda?
16:04:41 [Norm]
16:04:48 [Norm]
16:04:51 [Norm]
Topic: Accept minutes from the previous meeting?
16:04:51 [Norm]
16:04:57 [Norm]
16:05:10 [Norm]
Face-to-face in 2007?
16:06:14 [Norm]
Henry: I'll check if the W3C is ok with having a WG that runs for 18 months without a f2f meeting.
16:06:28 [Norm]
Richard: The rescheduled Tech Plenary is partly responsible.
16:07:01 [Norm]
Paul: We had a f2f in August, and I thought we didn't plan to have a lot of f2f meetings.
16:09:18 [Norm]
Norm: If we had a meeting, I think I would propose meeting in Europe, perhaps colocated with XTech in Paris or around the XML Summer School in Oxford in July?
16:09:27 [Norm]
Henry: Edinburgh would be happy to host.
16:09:59 [Norm]
Norm: Let's leave the question open for today, but we should decide soon.
16:10:10 [Norm]
Another public WD in February?
16:11:14 [Norm]
Norm: If review of last week's draft is generally favorable, I'd like to propose a new public WD in the next week or so then seriously consideer what obstacles prevent us from doing a Last Call in March.
16:11:30 [Norm]
Topic: Review of editor's draft of last week
16:11:37 [Norm]
16:12:00 [Norm]
a. Is the defaulting story right?
16:12:28 [Norm]
Henry: Not quite: I can't find where we talk about the situations in which we write p:output with a binding.
16:12:52 [Norm]
..That's where there ought to be something about defaulting.
16:13:32 [Norm]
Henry: You ought to not have to have an output.
16:14:04 [Norm]
Norm: No, I didn't consider the defaulting case where you don't specify an output at all.
16:14:08 [Norm]
Henry: I think we should.
16:15:24 [Norm]
Henry: In particular, in 2.4, it's easy to read this as if it only worries about inputs.
16:16:02 [Norm]
Norm: I'm going to take it as an editorial suggestion that 2.4 needs to say more about output bindings.
16:17:54 [Norm]
Henry: Consider also 4.2.7: "The result of the p:for-each" ...
16:18:54 [Norm]
Norm: And the defaulting story is...
16:19:43 [Norm]
Henry: A container instance that has one of these inward/output facing outputs...
16:20:24 [Norm]
Norm: If the container doesn't declare any output bindings, then it's output is what would have been input to a putative step that came after what is in fact the last step.
16:21:25 [Norm]
Norm: Henry's email is:
16:21:54 [Norm]
Henry: Consider figure 3
16:22:02 [Norm]
Henry: Note that this pipeline has no p:output
16:22:23 [PGrosso]
PGrosso has joined #xproc
16:22:24 [Norm]
Richard: Is this what we want? Don't we want to be able to refer to the outputs.
16:23:01 [Norm]
zakim, mute henry
16:23:01 [Zakim]
sorry, Norm, I do not know which phone connection belongs to henry
16:23:04 [Norm]
zakim, mute ht
16:23:04 [Zakim]
Ht should now be muted
16:23:38 [Norm]
Alex: I didn't think we were going to default outputs
16:23:57 [Norm]
Richard: I was assuming you would have defaults for outputs, but you'd have to declare the outputs.
16:24:29 [Norm]
Alex: Where is this helpful? On viewport, for-each, etc.
16:25:01 [Norm]
Henry: Can we look at figure 4 please?
16:25:39 [Norm]
Henry: It should be clear where the input from the XSLT step comes from
16:26:12 [Norm]
Richard: How do you declare a choose that has no outputs then?
16:26:33 [Norm]
Henry: I'd be sorry if that obscure case required me to put outputs in every p:when
16:26:55 [Norm]
Richard: I'd been assuming that you'd have to declare them, you just wouldn't have to bind them.
16:27:11 [Norm]
Henry: I think that would just irritate users every time they had to do it.
16:27:39 [Norm]
Richard: We can consider whether or not you have to declare them and whether or not you have to bind them separately.
16:29:43 [Norm]
Norm: You could use a DevNull component to make a component that has no outputs.
16:31:02 [Norm]
Henry: I really want to write pipelines like
16:31:10 [Norm]
...The flow is completely defaulted.
16:32:17 [Norm]
Henry: I think the 90% case is where people will want to default the entire flow
16:33:11 [Norm]
Richard: In order to get the abbreviated syntax you want, we're now having to change the unabbreviated syntax.
16:33:24 [Norm]
...It used to be clear that if you didn't have any outputs, there weren't any.
16:34:12 [Norm]
Alex: So what's the name of the output of the choose?
16:34:31 [Norm]
Norm: There isn't one. There's just an anonymous output that's only accessible as the default input to some following component.
16:35:01 [Norm]
Henry: In the non-defaulted syntax, I think I'd be a little happier if I did have an explicit indication that the component didn't have any outputs.
16:36:00 [Norm]
...In particular, consider: unconnected outputs are not a bug, that's just fine. So I'm considering the case where someone writes a choose and, ignoring the defaulting discussion, does not put any outputs on any of the whens.
16:36:06 [Norm]
...But the last step does have an output port.
16:36:41 [Norm]
...That seems to me to be a slightly odd situation. Any container that ends with a step that produces output in a container which doesn't have any outputs, I'd expect that to at least be a warning situation.
16:37:07 [Norm]
...That leads me to feel that I'd be perfectly happy to require components to explicitly state that they don't produce any outputs.
16:37:57 [Norm]
Richard: I had not considered this question.
16:38:06 [Norm]
Norm: Ok, let's leave this for a week and come back to it next week.
16:39:03 [Norm]
Henry: In updating the DTD, I realized that there's an interesting difference between XPath context and input.
16:39:15 [Norm]
...Both have a binding, but only input allows a select attribute.
16:39:45 [ht]
16:39:47 [Norm]
...My first thought was that that was ok, but then I thought about it a little longer and the following example occurred to me:
16:39:57 [Norm]
Henry: I ended up thinking I'd rather right it that way.
16:40:08 [PGrosso]
16:40:16 [Norm]
Norm: It seems reasonable to me.
16:42:59 [Norm]
Some discussion of what happens when sequences are identified
16:43:30 [Zakim]
16:43:48 [Zakim]
16:48:09 [Norm]
Alex points out the difference between the way select is proposed to work on xpath-context and the way it works on input.
16:48:43 [Norm]
Henry: The paragraph that finishes "set of nodes is wrapped in a document" needs editorial improvement.
16:49:52 [Norm]
Henry: If we accept my proposal, I think I do want select on xpath-context to work differently.
16:50:45 [Norm]
Henry: Maybe we need to think about this for a while too
16:50:48 [Norm]
Norm: Yes, probably.
16:51:05 [Norm]
c. Do we want to do something similar about for-each/viewport?
16:52:22 [Norm]
Norm tries to outline why the single input to viewport/for-each could or perhaps should also be anonymous.
16:53:49 [Norm]
Henry: This is the thing which drives the process but isn't something that gets referred to subsequently.
16:54:17 [Norm]
...It's perfectly reasonable to have a different input. I think the simplest thing to do would be have an input with no port name.
16:56:02 [Norm]
Alex: In the case of viewport, isn't the input often going to be defaulted?
16:57:00 [Norm]
Henry: I agree with Norm's analysis that giving it a name makes it available in which is odd.
16:57:06 [Norm]
Alex: But you can't read from it inside.
16:57:33 [Norm]
Richard: You could bind to it, just as you can bind to the inputs of a pipeline.
16:57:50 [Norm]
Alex: Is that how this works?
16:58:02 [Norm]
Henry: If not, then it voilates the principle of least suprise at the very least
16:59:02 [AndrewF]
AndrewF has joined #xproc
16:59:05 [Norm]
Norm: Taken together I think these three issues stand in the way of a public draft.
16:59:22 [Norm]
...Let's please resolve them next week
16:59:32 [Norm]
Henry: Can you add my updated examples and the DTD to the draft?
16:59:33 [Norm]
Norm: yes.
17:00:03 [Norm]
Topic: Any other business?
17:00:04 [Norm]
17:00:10 [Zakim]
17:00:11 [Zakim]
17:00:12 [Zakim]
17:00:13 [Zakim]
17:00:14 [Zakim]
17:00:18 [Zakim]
17:00:19 [Zakim]
XML_PMWG()11:00AM has ended
17:00:21 [Zakim]
Attendees were +1.650.786.aaaa, PGrosso, [IPcaller], Alessandro, rlopes, Ht, Norm, richard, Alex_Milowski, Andrew
17:00:21 [Norm]
rrsagent, make logs world-visible
17:00:28 [Norm]
rrsagent, draft minutes
17:00:28 [RRSAgent]
I have made the request to generate Norm
17:02:44 [MoZ]
MoZ has joined #xproc
17:03:14 [MoZ]
Zakim, what is the code ?.
17:03:14 [Zakim]
the conference code is hidden, MoZ
17:03:21 [MoZ]
Zakim, what is the code ?
17:03:21 [Zakim]
the conference code is hidden, MoZ
17:03:31 [MoZ]
17:04:29 [MoZ]
I cannot join ?
17:04:32 [MoZ]
any idea ?
17:05:31 [MoZ]
Zakim, this will be xproc ?
17:05:31 [Zakim]
I do not see a conference matching that name scheduled within the next hour, MoZ
17:05:52 [MoZ]
do I miss again the telcon ?
17:06:15 [Norm]
You're an hour late, MoZ ...
17:08:44 [MoZ]
arfff again!
17:09:26 [Norm]
17:09:37 [alexmilowski]
alexmilowski has left #xproc
17:12:33 [Norm]
19:11:49 [Zakim]
Zakim has left #xproc
19:18:54 [MSM]
MSM has joined #xproc
20:17:11 [Norm]
Norm has joined #xproc
21:24:22 [Norm]
Norm has joined #xproc
22:00:26 [eigma]
eigma has joined #xproc
22:00:35 [eigma]
anyone around?
22:06:20 [Norm]
22:07:37 [eigma]
I have an XPath question
22:09:22 [Norm]
Uhm. Ok.
22:10:09 [eigma]
I have an xml document like <a><b><b><b><c><d>XYZ</d></c></b></b></b></a>
22:10:22 [eigma]
I want to select the nearest parent "b" of d containing XYZ...
22:10:38 [eigma]
I have it down to //b[d='XYZ'] for selecting all B's
22:10:44 [eigma]
but I need to select only the nearest parent.. any ideas?
22:11:00 [Norm]
22:11:07 [Norm]
Sorry, //b[contains(d,'XYZ')/ancestor::b[1]
22:11:23 [Norm]
Ack wrong again
22:11:37 [Norm]
You need: //b[contains(d,'XYZ')]/ancestor::b[1]
22:11:49 [eigma]
thanks, I'll try
22:11:56 [Norm]
22:15:48 [eigma]
I can't get it working..
22:16:12 [eigma]
doesn't contains take only strings as arguments?
22:16:15 [Norm]
You might want to try sending a small test case to the XSL mailing list or xml-dev.
22:16:36 [Norm]
The contains function will take the string value of 'd'.
22:16:37 [eigma]
22:16:44 [Norm]
If d='XYZ' will actually work, then you can try:
22:17:04 [eigma]
yes, //b[d='XYZ] does work, but it selects all such b
22:17:16 [eigma]
whereas I want the nearest parent
22:17:24 [Norm]
Oh, right. Let me think for a second...
22:17:33 [eigma]
sure, thanks for your time
22:17:54 [Norm]
Try this: //d[contains(.,'XYZ') and ancestor::b]/ancestor::b[1]
22:18:10 [MSM]
22:18:13 [Norm]
That is, select all the 'd' elements that contain b and have at least one ancestor b then choose the nearest ancestor b
22:18:18 [MSM]
that is, //d[contains(.,'YXZ')]/ancestor::b[1]
22:18:43 [Norm]
Right, except you need to make sure you only select 'd' elements that do *have* an ancestor b :-)
22:19:07 [Norm]
22:19:28 [Norm]
Yeah, maybe.
22:19:31 [eigma]
<d>XYZ</d> only ever appears within at least one <b> in this document, so that check is not necessarily needed
22:19:37 [Norm]
22:22:15 [eigma]
what about //d='XYZ'/ancestor::b[1] ?
22:25:05 [Norm]
That's not a valid XPath
22:25:15 [eigma]
yeah, I noticed that the hard way ;)
22:25:23 [Norm]
You could say //d[.='XYZ']/ancestor::b[1]
22:26:27 [eigma]
can I make the "=" operator case-sensitive?
22:34:04 [eigma]
22:49:29 [eigma]
thanks everyone.. I finally found a solution!