QT4 CG Meeting 150 Minutes 2026-01-27

Meeting index / QT4CG.org / Dashboard / GH Issues / GH Pull Requests

Table of Contents

Draft Minutes

Summary of new and continuing actions [0/5]

  • [ ] QT4CG-143-02: MK to try to recover the ability to extract formal equivalences into tests
  • [ ] QT4CG-143-03: JK to look for C14N test suites.
  • [ ] QT4CG-144-01: MK to consider if any now lost value comparisons should be added as examples.
  • [ ] QT4CG-148-02: NW to publish a dated draft after QT4CG-148-01 is complete.
  • [ ] QT4CG-149-01: CG to draft a new PR with the common rule note.
  • [ ] QT4CG-149-02: MK to update the PR #2372 so that the “?” are part of the comment.
  • [ ] QT4CG-150-01: NW to ask Jirka for a room at XML Prague for Tuesday/Wednesday
  • [ ] QT4CG-150-02: Everyone review the “nice to have” tags and object where they wish
  • [ ] QT4CG-150-03: NW to setup an agenda item to review open issues
  • [ ] QT4CG-150-04: NW to see about a status update on that PR; possibly schedule discussion

1. Administrivia

1.1. Roll call [9/11]

Regrets: JWL.

  • [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)
  • [ ] John Lumley (JWL)
  • [X] Dimitre Novatchev [-x:20]
  • [X] Alan Painter (AP
  • [X] Wendell Piez (WP)
  • [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 3 February 2026.

No regrets heard.

1.5. Review of open action items [2/5]

  • [ ] QT4CG-143-02: MK to try to recover the ability to extract formal equivalences into tests
  • [ ] QT4CG-143-03: JK to look for C14N test suites.
  • [ ] QT4CG-144-01: MK to consider if any now lost value comparisons should be added as examples.
  • [ ] QT4CG-148-02: NW to publish a dated draft after QT4CG-148-01 is complete.
  • [ ] QT4CG-149-01: CG to draft a new PR with the common rule note.
  • [ ] QT4CG-149-02: MK to update the PR #2372 so that the “?” are part of the comment.

JK would like review of the samples in his PR. MK to try.

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. 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 #2392: 2384 Clarify that fn:xsd-validator can validate attributes
  • PR #2391: 2378 HTML indenting: clarify the definition of inline elements
  • PR #2363: 2349 Revert array:join

Proposal: Merge without discussion.

Accepted.

1.6.2. 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 #2360: fn:root() vs. absolute path expressions
  • Issue #2354: `fn:append`
  • Issue #2351: Current Drafts: What will we keep, what may be dropped?
  • Issue #2159: JNodes: Learning from JSONiq?
  • Issue #2127: JNodes: Include atomic items
  • Issue #1944: Try/Catch/Finally - order of evaluation

Proposal: Close with no further action.

Accepted.

1.6.3. Substantive PRs

The following substantive PRs were open when this agenda was prepared.

  • PR #2394: 2361 Use upper case for encoding names; comparisons are case-blind
  • PR #2362: 2355 bin:infer-encoding: further alignments
  • PR #2350: 708 An alternative proposal for generators
  • PR #2247: 716 Deferred Evaluation in XPath - the f:generator record
  • PR #2019: 1776: XSLT template rules for maps and array

2. Technical agenda

2.1. PR #2394: 2361 Use upper case for encoding names; comparisons are case-blind

See PR #2394.

MK introduces the PR.

  • MK: We’ve always believed that encodings are case blind, it’s a matter of saying it in the right places.
    • … It runs across specs a fair bit.
  • MK: In F&O: a note that encoding names are compared without regard to case.
  • MK: Most of the other changes are to use upper case in examples and things.
  • JLO: The minus sign is now mandatory?
  • MK: We say that “UTF-8” has to be accepted, we don’t say that “UTF8” without the hyphen should be rejected.
    • … In practice, if you go down to Java or C# to get your encoding technology, it’ll accept both.
  • JLO: Would it be interesting to have those encodings as a symbol or a QName so that we can reuse them?
  • MK: I’m not sure how one would do that. We could have a data type.
  • JLO: An enum?
  • MK: We don’t have a way of defining an open enum.
  • CG: I guess this PR will cause with conflicts with the next one.

We’ll just have to work it out.

Proposal: Accept this PR.

Accepted.

2.2. PR #2362: 2355 bin:infer-encoding: further alignments

See PR #2362.

  • CG: This was caused by some observations by MK that the error handling wasn’t clear.
    • … I found other edge cases, so I decided to try to handle them like unparsed text.
    • … I think we should change the F&O spec to refer to these rules.
  • CG: One note: fn:unparsed-text doesn’t only look at the bytes; it looks at external encodings and media types.
    • … I implemented both variants and it seemed like alignment would be better.

Proposal: Accept this PR.

Accepted.

2.3. PR #2350 / #2247: Generators: any progress to report?

See PR #2350 and #2247.

  • MK: I think we need to stand back from the detail and think about what our strategy is here.
    • … It probably makes sense to do that in the larger context of the whole project.
    • … What’s the balance between finishing and doing more.
  • DN: I have a good summary of what has been done.
  • DN: Generator record proposal introduces a first-class abstraction for generators.
    • … We don’t depend on implementation-dependent magic
    • … Guaranteed that our code is portable across any XPath 4 compliant implementation
    • … We are ready to proceed

Come back to do detailed review.

  • MK: I think that there’s on the order of forty-two hours of work just in reviewing it.

2.4. PR #2019: 1776: XSLT template rules for maps and array

See PR #2019.

Not ready for discussion.

  • MK: I’m long overdue on revising this proposal.
    • … I think this is the biggest outstanding “must do” items.

3. Any other business

3.1. Where are we and where are we going?

  • NW: Any interest in a face-to-face meeting in Prague?

Some interest.

ACTION QT4CG-150-01: NW to ask Jirka for a room at XML Prague for Tuesday/Wednesday

  • MK: I’ve gone through the issues list and tagged some as “nice-to-have”.
    • … We have to draw a line and we’d still have a conherent spec without those things.
  • NW: You sound determined to move to the end game and get finished.
  • MK: I’d like to finish this in 2027 and if we’re going to achieve that, we need to start closing down options.

Some discussion of EXPath specs; we’re doing File and Binary, but others that happen could be done on a different schedule.

  • WP: I think it’s important to work out how big these buckets are.

Some discussion of nice-to-have features.

  • MK: My feeling is that if we have a coherent proposal with test cases that we can accept, then we can take it. But if we don’t, then it doesn’t hold up the work.

ACTION QT4CG-150-02: Everyone review the “nice to have” tags and object where they wish

ACTION QT4CG-150-03: NW to setup an agenda item to review open issues

  • MK: Where are we on publishing a stable draft?
  • NW: I’m hoping to do that this week.
  • MK: What are we going to do about cleaning them up and fixing the status sections.
  • NW: My plan is to simply add a note to each status section saying that it’s stable. If we wanted to clean up all the dangling references and such, write proper status sections, etc. I think that’s a month’s work. I’d rather not wait that long.
  • MK: Okay.
  • CG: what about RUVs proposal?
  • MK: I’m torn on that one because of the parser implications.
  • NW: Yes, I’ve been leaving that one blocked on the assumption that unbounded lookahead is a non-starter.

ACTION QT4CG-150-04: NW to see about a status update on that PR; possibly schedule discussion

NW also observes that there are some unresolved questions about what form our final documents can take vis-a-vis W3C policies about Community Groups and Working Groups.