QT4 CG Meeting 134 Minutes 2025-09-16
Meeting index / QT4CG.org / Dashboard / GH Issues / GH Pull Requests
Table of Contents
- Draft Minutes
- Summary of new and continuing actions
[0/9]
- 1. Administrivia
- 2. Technical agenda
- 2.1. PR #2171: 2163 Change ?> symbol to =?>
- 2.2. PR #2191: 2075 Editorial Omnibus
- 2.3. PR #2189: 2180 Clarify paths mixing XNodes and JNodes
- 2.4. PR #2188: 2187 Add coercion rule for enumeration types
- 2.5. PR #2182: 2178 Define predeclared namespaces for XQuery
- 2.6. PR #2181: 2179 Add namespace declarations to XPath grammar
- 3. Any other business
- 4. Adjourned
Draft Minutes
Summary of new and continuing actions [0/9]
[ ]
QT4CG-116-01: Add a specific error code for unsupported options on doc and doc-available[ ]
QT4CG-118-01: MK to make an incorrect type raise an error in #1906[ ]
QT4CG-127-01: NW to diagram the JTree representing arbitrary XDM content.[ ]
QT4CG-128-03: NW to compare the file: module against the equivalent XProc 3.1 steps[ ]
QT4CG-131-01: MK to add a non-schema aware result.[ ]
QT4CG-131-02: MK to expand on the$E := <e A="p q r"…
example[ ]
QT4CG-131-03: MK to change “invert” to “transpose” in the matrix example.[ ]
QT4CG-133-01: MK to correct the use of “Expr” in examples for get()[ ]
QT4CG-134-01: MK to open an issue about the error code for=?>
1. Administrivia
1.1. Roll call [8/11]
[X]
David J Birnbaum (DB)[ ]
Reece Dunn (RD)[X]
Christian Grün (CG)[X]
Joel Kalvesmaki (JK)[X]
Michael Kay (MK)[X]
Juri Leino (JLO)[X]
John Lumley (JWL)[X]
Wendell Piez (WP)[ ]
Ed Porter (EP)[ ]
Bethan Tovey-Walsh (BTW)[X]
Norm Tovey-Walsh (NW) Scribe. Chair.
1.2. Accept the agenda
Proposal: Accept the agenda.
Accepted.
1.3. Approve minutes of the previous meeting
Proposal: Accept the minutes of the previous meeting.
Accepted.
1.4. Next meeting
The next meeting is planned for 23 September 2025.
JLO gives regrets.
1.5. Review of open action items [0/8]
(Items marked [X] are believed to have been closed via email before this agenda was posted.)
[ ]
QT4CG-116-01: Add a specific error code for unsupported options on doc and doc-available[ ]
QT4CG-118-01: MK to make an incorrect type raise an error in #1906[ ]
QT4CG-127-01: NW to diagram the JTree representing arbitrary XDM content.[ ]
QT4CG-128-03: NW to compare the file: module against the equivalent XProc 3.1 steps[ ]
QT4CG-131-01: MK to add a non-schema aware result.[ ]
QT4CG-131-02: MK to expand on the$E := <e A="p q r"…
example[ ]
QT4CG-131-03: MK to change “invert” to “transpose” in the matrix example.[ ]
QT4CG-133-01: MK to correct the use of “Expr” in examples for get()
1.6. Review of open pull requests and issues
This section summarizes all of the issues and pull requests that need to be resolved before we can finish. See Technical Agenda below for the focus of this meeting.
1.6.1. Blocked
1.6.2. Merge without discussion
The following PRs are editorial, small, or otherwise appeared to be uncontroversial when the agenda was prepared. The chairs propose that these can be merged without discussion. If you think discussion is necessary, please say so.
- PR #2174: 2173 Drop method annotations from XPath grammar
Proposal: merge without discussion.
Accepted.
1.6.3. Close without action
It has been proposed that the following issues be closed without action. If you think discussion is necessary, please say so.
- Issue #2161: Drop other non-ASCII operators (×, ÷)
- We’ll keep these.
- Issue #2034: fn:parse-xml, fn:doc: `safe` option
- Issue #1912: Error handling: `fn:throw`
- Issue #1868: array:members() to include index position
- Issue #670: The trouble with XPath’s fn:fold-right. A fix and Proposal for fn:fold-lazy
- Issue #576: JSON serialization: INF/NaN, function items
- Issue #158: Support optional parameters on dynamic functions
- Issue #105: Maps with Infinite Number of Keys: Total Maps and Decorated maps
Proposal: close without further action.
Accepted.
2. Technical agenda
2.1. PR #2171: 2163 Change ?> symbol to =?>
See PR #2171
- MK: I thought we had consensus going in this direction, but there’s been a lot of discussion.
- JLO: Can we look at the comments?
MK reviews the issue and comments on it…
- NW: I think there are two seperable questions…
- JK: I’m just exploring ways to approach it differently; especially since we’ve
changed how the step operator works.
- I think something like “/” would be more familiar to users.
- Could you design your record so that your methods are qualified names, then you wouldn’t have any problems, is that right?
- JLO: That’s an interesting point. If methods would all be in the method namespace, then maybe that would be a possibility.
Some discussion of using “.”, but that’s a name character.
- JLO: I’m fine with
=?>
. - NW: I fear that if we wanted to use QNames, we’d quickly have questions about how to use EQNames and default prefixes and we’d be back where we started.
Proposal: change the spelling ?>
symbol to =?>
Accepted.
- WP: I think that
==>
is maybe better. But if everyone else is happier… - CG: There was one more comment from MK in #2163 that XPDY may not be the best error code. Should we open a new issue for that.
ACTION: QT4CG-134-01: MK to open an issue about the error code for =?>
2.2. PR #2191: 2075 Editorial Omnibus
See PR #2191
- MK: I think this is all pretty well editorial. There are one or two issues
that I didn’t address because I thought the issues were more than editorial.
- … The changes in the PR are all uncontroversial.
Some discussion of the questions not answered.
- CG: There are some invalid links and the summary of changes includes some notes about characters that aren’t used anymore.
- MK: I think a new editorial issue is the way to go.
- JWL: Can you look at A.4 in the XPath spec?
- … The changes remarks says that
record
,item
, andenum
have not been added, but they have.
- … The changes remarks says that
- MK: I think that should be have been added.
- JLO: Thank you for this work.
Proposal: accept this PR.
Accepted.
MK to make the small fix outlined above and then merge the PR.
2.3. PR #2189: 2180 Clarify paths mixing XNodes and JNodes
See PR #2189
MK reviews the changes in XPath…
- MK: It’s adding a note about the subtle difference between
$N/T
and$N/type(T)
.- … If you say
type(T)
then you’re selecting on the child axis. Where usingattribute()
has an effect on the default axis selected. But it does make sense for JNodes. - … It goes further to discuss some things you can’t do.
- … If you say
- NW: That’s going to be confusing.
- MK: It would be nice if the path-like operators composed better, but they have different precedences
- JLO: It seems to me that this will be so common that we might want to introduce an operator to do it. Then with the new operator, perhaps we could balance things better.
Some discussion of what could follow the expression.
- MK: I’m tending to use
!
where deduplication and document order aren’t relevant.- … What you can’t do in this example is use an arrow because @id isn’t a function.
- JWL: I think we have to recognize that once folks start doing this with mixed
content, there are going to be lots of problems of comprehension.
- … But it’s going to be fairly skilled to use this correctly.
- JLO: It might be easier to not use the
=!>
here. Maybe! jnode-content(.)
would be easier to read. - CG: I agree.
- JWL: Then putting
/
in front of@id
might make that part clearer. - MK: I think the
.
is unnecessary injnode-content()
.- … In fact, you could use
/
all the way down if you inject thejnode-content()
step.
- … In fact, you could use
- JLO: Then that’s much better!
$array/type(element(p)) / jnode-content() / @id
Proposal: Accept this PR.
Accepted.
MK to make the proposed change to the example and then merge the PR.
2.4. PR #2188: 2187 Add coercion rule for enumeration types
See PR #2188
- MK: This is a bug fix in response to a test added by Gunther Rademacher.
- … He created a test that showed you couldn’t use atomic values where an enumeration type is expected. But clearly that should be possible!
- MK: This PR updates the coercion rules to make that work.
Proposal: Accept this PR.
Accepted.
2.5. PR #2182: 2178 Define predeclared namespaces for XQuery
See PR #2182
- MK: I think this was an accidental ommision. We thought we’d agreed to it, but
when I looked at the spec, we’d added to the list of known namespaces, but the
spec didn’t actually say that they were predeclared.
- … I’ve fixed that and made it clear that they’re predeclared.
- DB: Are these namespaces predeclared only in XQuery?
Some discussion of predeclaring them in XPath or XSLT.
- DB: For what it’s worth, I find it confusing and leads to user error that the rules for XQuery and XSLT are different. And I’ve found it inconvenient when writing a one-off XPath exploration.
- MK: The XPath rules say that it’s host language defined. So someone defining a free-standing XPath processor could say that they’re predefined. What we’re not saying is that they always are. It doesn’t make sense in XPath embedded in XSLT.
Some additional discussion of XSLT-being-XML having an influence on the declared namespaces.
- JLO: I do like that this is clearly defined; but what about a processor that doesn’t have all of them implemented?
- MK: This says you have to implement the
xsi
namespace even if you don’t have schema aware processing. - JLO: Then we should say something about them not being implemented.
- MK: Well, they’re implemented in the namespace bindings.
- JWL: To answer DB’s query, I’ve been using the namespace default binding attribute on the stylesheet. That’s a lot simpler and better.
Proposal: Accept this PR.
Accepted.
2.6. PR #2181: 2179 Add namespace declarations to XPath grammar
See PR #2181
- NW: Can we get through this in ten minutes?
- MK: I feel comfortable with it, but I don’t know of other folks do.
- MK: This PR allows you to add namespace declarations in the XPath grammar.
- … The trigger that lead to this was assertions in the test suite.
- … They’re supposed to be XPath expressions, but there was no way of declaring namespaces for them.
- JWL: This at least makes parsing easier. If it was deeper, I’m not sure if we’d get some nasty ambiguities.
- MK: You’d have to use a different syntax.
- NW: What happens if you declare the default namespace twice?
- MK: You get an error.
- JK: I really appreciate this.
Proposal: Accept this PR.
Accepted.
3. Any other business
- JWL: Can we thank Bethan for the logo.
- NW: We certainly can.