QT4 CG Meeting 173 Agenda 2026-07-21

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

Agenda

This meeting will be hosted on Zoom at 16:00BST (15:00GMT, 17:00CEST, 11:00EDT).

See the meeting logistics page for more details.

1. Administrivia

1.1. Roll call

1.2. Approve the agenda

1.3. Approve minutes of previous meetings

Minutes of the previous meeting.

1.4. Next meeting

This meeting is planned for 21 July 2026.

The next meeting is planned for 28 July. There will be no meeting on 4 August.

1.5. Review of open action items [0/10]

  • [ ] QT4CG-143-02: MK to try to recover the ability to extract formal equivalences into tests
  • [ ] QT4CG-167-02: MK to make a PR for #2591, grammar for step?lookup is invalid
  • [ ] QT4CG-167-03: NW to make a PR for #2482, fallback on bin:decode-string
  • [ ] QT4CG-167-05: MK to write a proposal to change #2393 so the functions return JNodes
  • [ ] QT4CG-167-07: NW to review tests for interpolated strings with edge cases in mind
  • [ ] QT4CG-167-08: MK to review the state of #1949 to see which items are still outstanding.
  • [ ] QT4CG-167-09: NW to close all “nice to have” issues at the end of October if they haven’t progressed
  • [ ] QT4CG-170-01: RD to draft a proposal that attempts to address the lexical issues differently.
  • [ ] QT4CG-172-01: MK to check if the XSLT rules are consistent with the rules in #2757.

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

The following PRs are open but have merge conflicts or comments which suggest they aren’t ready for action.

  • PR #2071: 77c deep update
  • PR #2160: 2073 data model changes for JNodes and Sequences
  • PR #2247: 716 Deferred Evaluation in XPath - the f:generator record
  • PR #2350: 708 An alternative proposal for generators
  • PR #2768: 2740 Drop constructor functions from built-in records

1.6.2. Substantive PRs

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

  • PR #2594: 2389 Adaptive Serialization: more freedom
  • PR #2696: 2695 Apply templates to maps, arrays, and JNodes
  • PR #2707: 1962 fn:map-to-element
  • PR #2712: 2702 Dynamic node tests
  • PR #2714: 2219 Generalize method calls to sequences
  • PR #2715: 2653 FLWOR, member/key/value clauses: allow sequences
  • PR #2719: 1234 Serialization Parameters: Indentation, Whitespace, Newlines
  • PR #2734: 2733 A step too far
  • PR #2739: 2738 XSLT - tree terminology
  • PR #2760: 2521 URIs: unify handling of fragment identifiers
  • PR #2777: 2644 Extend casts to sequences, arrays, maps, and records
  • PR #2788: 2774 Reversion of PR 2747 which allowed `A/B?C`
  • PR #2789: 2787 XQuery changes to merge declare record and declare type
  • PR #2792: 2790 fn:pad-string, truncation
  • PR #2793: 2729 fn:replace: named groups (+other regex functions)
  • PR #2794: 2748 CSV Serialization
  • PR #2795: 2338 Nomenclature: node(), gnode(), xnode()
  • PR #2796: 2352 Trusted execution: clarifications
  • PR #2797: 2699 fn:element-to-map: validation
  • PR #2800: 2799 fn:slice: negative steps

1.6.3. Required for V4.0

The following issues are labeled “required for V4.0”.

  • Issue #1777: Shallow copy in XSLT with maps and arrays
  • Issue #675: XSLT streaming rules for new constructs

2. Technical agenda

This week, I’ve put the oldest ones first, but we might decide to skip over some of them.

2.1. PR #2594: 2389 Adaptive Serialization: more freedom

See PR #2594.

2.2. PR #2696: 2695 Apply templates to maps, arrays, and JNodes

See PR #2696.

2.3. PR #2707: 1962 fn:map-to-element

See PR #2707.

2.4. PR #2712: 2702 Dynamic node tests

See PR #2712.

2.5. PR #2714: 2219 Generalize method calls to sequences

See PR #2714.

2.6. PR #2715: 2653 FLWOR, member/key/value clauses: allow sequences

See PR #2715.

2.7. PR #2719: 1234 Serialization Parameters: Indentation, Whitespace, Newlines

See PR #2719.

2.8. PR #2734: 2733 A step too far

See PR #2734.

2.9. PR #2739: 2738 XSLT - tree terminology

See PR #2739.

2.10. PR #2760: 2521 URIs: unify handling of fragment identifiers

See PR #2760.

2.11. PR #2777: 2644 Extend casts to sequences, arrays, maps, and records

See PR #2777.

2.12. PR #2788: 2774 Reversion of PR 2747 which allowed `A/B?C`

See PR #2788.

2.13. PR #2789: 2787 XQuery changes to merge declare record and declare type

See PR #2789.

2.14. PR #2792: 2790 fn:pad-string, truncation

See PR #2792.

2.15. PR #2793: 2729 fn:replace: named groups (+other regex functions)

See PR #2793.

2.16. PR #2794: 2748 CSV Serialization

See PR #2794.

2.17. PR #2795: 2338 Nomenclature: node(), gnode(), xnode()

See PR #2795.

2.18. PR #2796: 2352 Trusted execution: clarifications

See PR #2796.

2.19. PR #2797: 2699 fn:element-to-map: validation

See PR #2797.

2.20. PR #2800: 2799 fn:slice: negative steps

See PR #2800.

3. Any other business