QT4 CG Meeting 175 Agenda 2026-08-11

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

Regrets: MK, JK.

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 11 August 2026.

The next meeting is planned for 18 August.

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

  • [ ] QT4CG-143-02: MK to try to recover the ability to extract formal equivalences into tests
  • [ ] 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-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-174-01: MK to make an issue or otherwise address CG’s comments on #2734.

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 #2768: 2740 Drop constructor functions from built-in records
  • PR #2760: 2521 URIs: unify handling of fragment identifiers
  • PR #2350: 708 An alternative proposal for generators
  • PR #2247: 716 Deferred Evaluation in XPath - the f:generator record
  • PR #2160: 2073 data model changes for JNodes and Sequences
  • PR #2071: 77c deep update

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 #2817: 2816 Advice for representing whitespace serialization params

1.6.3. Substantive PRs

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

  • PR #2707: 1962 fn:map-to-element
  • PR #2789: 2787 XQuery changes to merge declare record and declare type
  • 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 #2805: 2802 Function identity removed
  • PR #2812: 2811 fn:decode-from-uri: to +, or not to +
  • PR #2814: 2393 array:members and array:of-members using JNodes
  • PR #2815: 2567 Extended and restricted record types
  • PR #2822: 2821 XHTML prefix normalization rules lead to xmlns="" namespace undeclarations
  • PR #2824: 2823 fn:scan: an alternative attempt
  • PR #2826: 2772 Editorial Notes (July 2026 edition)
  • PR #2829: 2828 File Module: editorial notes
  • PR #2831: 2809 fn:deep-equal, debug option: nondeterminism
  • PR #2832: 2808 strip-space option: fn:doc vs. fn:parse-xml
  • PR #2833: 2263 New named record types
  • PR #2834: 2830 Clarify the effect of the line-ending serialization parameter

1.6.4. 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

Diffs aren’t building at the moment, so I’m once again putting older issues first and in MK’s absence, attempting to avoid his PRs.

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

See PR #2707.

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

See PR #2789.

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

See PR #2793.

2.4. PR #2794: 2748 CSV Serialization

See PR #2794.

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

See PR #2795.

2.6. PR #2796: 2352 Trusted execution: clarifications

See PR #2796.

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

See PR #2797.

2.8. PR #2805: 2802 Function identity removed

See PR #2805.

2.9. PR #2812: 2811 fn:decode-from-uri: to +, or not to +

See PR #2812.

2.10. PR #2824: 2823 fn:scan: an alternative attempt

See PR #2824.

2.11. PR #2826: 2772 Editorial Notes (July 2026 edition)

See PR #2826.

2.12. PR #2829: 2828 File Module: editorial notes

See PR #2829.

2.13. PR #2831: 2809 fn:deep-equal, debug option: nondeterminism

See PR #2831.

2.14. PR #2832: 2808 strip-space option: fn:doc vs. fn:parse-xml

See PR #2832.

2.15. PR #2833: 2263 New named record types

See PR #2833.

3. Any other business