See also: IRC log
(Minutes may have formatting artifacts; scribe had no connectivity during the meeting.)
1. A-22-01: Norm to create an issue to track xpath expressions over a sequence of documents
<scribe> Completed: Issue #3306
2. A-13-01: MSM to draft a complete table; ETA: 15 June 2006
Richard: Can you summarize where we are wrt syntax?
Mohamed: There was one point when we said that variables can contain strings only. But that didn't seem to be a point of consensus. Jeni was about to make the content a nodeset, for example.
Richard: Should we attempt to agree a version 0 where we say "no we're not having any of those" and then see where we get.
Norm: That seems reasonable to me. Do you have a proposal?
Richard: No, we don't have variables. We just have inputs, outputs, parameters. Parameters are strings. There's no scoping mechanism. Then we can discuss which things we add. This isn't what the spec will say, but it will help us get some things out of the way.
Norm: A concrete syntax for this?
Richard: Yes. Then we could have some implementations of it.
Norm: I really want to know where XPath expressions fit in.
Richard: I was going to suggest no XPath at all, parameters are constant strings. Then discussions of XPaths will involve proposals to change that existing syntax.
Norm: What do others think about this approach?
Paul: I'm always for simplification.
Alessandro: If we do that, will we have to back-track if we want to go to a syntax that allowed XPath.
Alessandro: So maybe we want to make a decision early on about XPath.
Henry: As long as we don't let this out into the wild too much, or we all solemnly swear that backward incompatibilities with this syntax won't have any impact on our future decisions, I think it'd be ok. I don't think it's a mistake.
Richard: I was not suggesting that any version 0 would exist for any purpose other than to help us consider what version 1 should be. Alternatively, if you think that's too simple, can we enumerate now which things we need to decide before we do a version zero.
Norm expresses that it was XPaths that were this feature in his personal explorations.
Mohamed: I think that the way Jeni is exploring the use of XPath for conditionals is useful research. But the fear I have is that at the moment the XPath using is augmenting the power of XPath by adding new functions. For example, count on sequences. Some of this are extremely needed. We have to focus on the problem of speaking about sequences of documents and how we handle this type.
Norm: I propose that XPath over a sequence is an error.
Richard: You can do it in XPath 1.0 (using union of document()s for example). These are separable. If the contexts were always given by a pipe going into the component, then if the sequence was a sequence you'd get a context nodeset consisting of those nodes.
Mohamed: But if you do $a|$b, you lose the order. It's a set. Maybe we have to say that it's a set and not a sequence.
Norm: I still think we might get away with calling it an error.
Richard: You can certainly work around it with other standard components if we made it an error.
Norm: Yes, you can certainly work around it.
Richard: And a future version could allow them.
Norm, carrying Jeni's proxy, attempts to argue for Jeni's position that we should allow the variable syntax reference to documents. Some discussion of how much work it is to analyze the expressions. Doesn't really require a full XPath parser, but does require care with quoted strings.
Richard: Use of variables there would suggest that that's how they should be used everywhere.
Norm: I'm not sure I want arbitrary XPath expressions in ref=.
Richard: If what you say is a document is ref="$name", then you're saying that the value of ref is an XPath referring to a document. Then you might expect to say ref="document('someURI')".
Alessandro: XPath doesn't have a document() function, that's from XSLT.
Richard: It would also lead people to believe that you could just use part of the output with ref="$foo/something".
Norm: I think we'd have to say that ref is a bare label or that ref is a single variable reference. Either way we violate the principle of least surprise, but I'm not sure what else we can do.
Richard: I'm happy to go with the variable reference mechanism if that's what the group wants, but I'm not enthusiastic about it. How about a straw poll?
Norm: Straw poll: documents by variable reference syntax, or some other syntax that limits XPath expressions to a single document. Is that clear?
Richard: Within XPath expressions, documents as dollar variables?
... To clarify, saying "yes" is supporting what Jeni wants, right?
Henry: I'm not sure I understand the implications. Can we look at some email.
Alessandro: Jeni's relevant message is titled "How should variables be set?"
Richard: (Reading the mail) Option A: XPath expressions are evaluated over a single document. Option B: Expressions are evaluated with no context node, variables are used to refer to intermediate documents. (Paraphrased by the scribe who has no connectivity at the moment.)
Henry: I don't like either of these, I think this is the wrong level. Is this meant to be the syntax that users write? This pushes aspect of the low-level syntax into the XPath in ways I don't like at all. We've said repeatedly that for simple straight-through pipelines, we shouldn't require authors to know the names of any inputs and outputs. If we achieve that goal, then none of these approaches will work because they require you to know the names of things.
Norm: Don't you think the simple case is that there are no xpath expressions?
Henry: I should be able to use XPaths without having to add any other mechanism. I think the 90% case for using XPaths will be to refer to the only document that there is in any given step. I don't see that as falling out of either of these proposals.
<scribe> ACTION: Henry to describe an alternate proposal in email. [recorded in http://www.w3.org/2006/06/01-xproc-minutes.html#action01]
Richard: Have we considered the following: XPath's can't refer to any documents except the documents that are input to the steps. It can refer to those by name.
Norm: We haven't considered that before, but I do like it.
Mohamed: If we do this, then we'll have steps with lots of inputs. We'll have to pass all the documents we want to refer to as inputs. This will make dependency analysis harder.
Richard: I don't understand. I'm expecting most of my steps not to have any XPaths at all. Most of the ones that do are going to refer to a single document. The case where there are multiple documents in a single XPath seems like an edge case.
Mohamed: I think that they'll be used in conditionals and in debugging parameters. If you close the domain of the access of the variable to only what's in the input, you'll have to give a lot of inputs.
Richard: You were thinking of pipeline variables that you could set to these things. I was only thinking of this to deal with documents, not with constants.
Norm: I don't think the straw poll would be valuable, does anyone?
Paul: No, but we need actions if we're going to make progress.
Norm: Richard would you take an action to write a syntax proposal?
<scribe> ACTION: Richard to write a syntax proposal. [recorded in http://www.w3.org/2006/06/01-xproc-minutes.html#action02]
<scribe> ACTION: Norm to write a syntax proposal. [recorded in http://www.w3.org/2006/06/01-xproc-minutes.html#action03]