QT4 CG Meeting 158 Minutes 2026-03-31
Meeting index / QT4CG.org / Dashboard / GH Issues / GH Pull Requests
Table of Contents
- Summary of new and continuing actions
[0/8] - Draft Minutes
- 1. Administrivia
- 2. Technical agenda
- 2.1. PR #2559: 2549 Functional purity
- 2.2. PR #2558: 2556 errors for invisible-xml() and doc()
- 2.3. PR #2552: 540bis Add system-properties() function
- 2.4. PR #2533: 2528 Update RFC reference (7159 -> 8259) for JSON
- 2.5. PR #2531: QT4CG-154-02 Revise rules for setting stylesheet parameters
- 2.6. PR #2516: 2433 JTree function: Discuss JNode identity more fully
- 2.7. 2.6a: PR #2551 - shadow attribute in a RNG schema
- 2.8. PR #2019: 1776: XSLT template rules for maps and array
- 3. Any other business
Summary of new and continuing actions [0/8]
[ ]QT4CG-143-02: MK to try to recover the ability to extract formal equivalences into tests[ ]QT4CG-144-01: MK to consider if any now lost value comparisons should be added as examples.[ ]QT4CG-150-01: NW to ask Jirka for a room at XML Prague for Tuesday/Wednesday[ ]QT4CG-150-04: NW to see about a status update on PR #2345; possibly schedule discussion[ ]QT4CG-156-01: MK: add reference to data model in F&O 9.2[ ]QT4CG-156-03: MK to revise PR #2516 in light of the comments.[ ]QT4CG-157-01: CG to consider the issue of such empty directories[ ]QT4CG-157-02: CG to propose an editorial change to use the fos:notes construct for the Notes. Also relevant to #2546[ ]QT4CG-158-01: MK to revisit the Conformance section to revise in light of #2556 error changes[ ]QT4CG-158-02: MK to addsystem-properties()keys for file and binary support
Draft Minutes
1. Administrivia
1.1. Roll call [8/10]
Regrets: DB, NW
[ ]David J Birnbaum (DB)[X]Reece Dunn (RD)[X]Christian Grün (CG)[X]Joel Kalvesmaki (JK) Chair.[X]Michael Kay (MK)[X]Juri Leino (JLO)[X]John Lumley (JWL) Scribe[X]Alan Painter (AP[X]Wendell Piez (WP)[ ]Norm Tovey-Walsh (NW)
NW thanks JK and JWL. Assume any errors introduced in the minutes are NW’s fault.
1.2. Accept the agenda
Proposal: Accept the agenda.
Accepted with PR #2551 removed; issue 2.7 is not ready.
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 7 April 2026.
JWL gives regrets for 7, 14, and 21 April.
1.5. Review of open action items [0/8]
[ ]QT4CG-143-02: MK to try to recover the ability to extract formal equivalences into tests[ ]QT4CG-144-01: MK to consider if any now lost value comparisons should be added as examples.[ ]QT4CG-150-01: NW to ask Jirka for a room at XML Prague for Tuesday/Wednesday[ ]QT4CG-150-04: NW to see about a status update on PR #2345; possibly schedule discussion[ ]QT4CG-156-01: MK: add reference to data model in F&O 9.2[ ]QT4CG-156-03: MK to revise PR #2516 in light of the comments.[ ]QT4CG-157-01: CG to consider the issue of such empty directories[ ]QT4CG-157-02: CG to propose an editorial change to use the fos:notes construct for the Notes. Also relevant to #2546
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 #2563: 2562 Empty fields in parts-of-dateTime result now absent
- PR #2560: 2321 Make fn:trace and fn:message nondeterministic
- PR #2555: 2215 Add "see also" links between functions
- PR #2545: 2544 Drop xsl:record-type/@extensible
Proposal: merge without discussion.
Accepted.
- PR #2551: 2550 Shadow attributes in RelaxNG schema
- Moved to the technical agenda
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 #2526: Facets
- Issue #2325: Specify evaluation more tight and more formal to disallow unsane cases
- Issue #2252: Dynamic XPath Evaluation the functional way
Proposal: close without further action.
Accepted.
1.6.3. Substantive PRs
The following substantive PRs were open when this agenda was prepared.
- PR #2559: 2549 Functional purity
- PR #2558: 2556 errors for invisible-xml() and doc()
- PR #2552: 540bis Add system-properties() function
- PR #2533: 2528 Update RFC reference (7159 -> 8259) for JSON
- PR #2531: QT4CG-154-02 Revise rules for setting stylesheet parameters
- PR #2516: 2433 JTree function: Discuss JNode identity more fully
- PR #2019: 1776: XSLT template rules for maps and array
2. Technical agenda
2.1. PR #2559: 2549 Functional purity
See PR #2559.
- MK: arises from incorporating the File module. This needs a bit more detail
and recommendations of the problem of possible side-effects on functional
'purity'. A short essay to document current understanding.
- … Explains what are the benefits of a functional language and the issues that might make this difficult. Eg. errors and node construction withidentity. Advice to users to mitigate or reduce the problems.
- … Then some discussion of much more serious side-effecting functions.
- … No attempt to tackle conformance rules.
- .. No attempt to enumerate all the cases of side-effect caution.
- JLO: Looks a good addition, giving guidance to both implementors and users. Would like to have some indication of side-effct risk on functions in the spec. 1.c - covers side-effects other than errors (comfirmed by MK)
- AP: Could there be a 'lint-type' utility to identify problem ares for these side effects.
- MK: Next stage could be to add something to the language to add this sort of check formnally.
- CG: XQUery Update in their implementation has a non-deterministic property available, though it hasn't really been used. Would take a long time to do it all formally.
Proposal: accept this PR.
Accepted.
2.2. PR #2558: 2556 errors for invisible-xml() and doc()
See PR #2558.
- MK: Started with
invisible-xml()and it expanded toparse-xml()and thencedoc()- … Added specific errors for some of the violations, e.g. validation failure, unsupported options keywords (See the PR for the specific errors added)
- … Arranged that
parse-xml()anddoc()use same wording in the descriptionsinvisible-xml()moves the error descriptions into an error conditions section. (Means lack of an invisible XML processor can raise an error rather than conformance failure, c.f the same withfn:transform())
- JLO: Could we have more detailed error codes on
parse-xml() - MK: Difficult with plug-in implementations.
ACTION QT4CG-158-01: MK to revisit the Conformance section to revise in light of #2556 error changes
Proposal: accept this PR.
Accepted.
2.3. PR #2552: 540bis Add system-properties() function
See PR #2552.
- MK: Original idea was to add the XSLT system-property() function into XPAth,
but those properties names are in the XSLT namespace. Solution to produce a
new function,
system-properties(), which will use (add) no-namespace QNames, and is effectively a subset of the XSLT version. Can be a full replacement forsystem-property() - JK: Will XSL properties be available in non-XSLT situations.
- MK: No.
- JK: What about adding supports-file, supports-binary.
ACTION QT4CG-158-02: MK to add system-properties() keys for file and binary support
- JLO: Records can't be extended. Does this cause problems?
- MK: No (some discussion)
- CG: Would it be easier for users if the default keys were strings as well as QNames
- MK: Becomes a bit messy.
- JLO: Serialization options has both strings and QNames
Proposal: accept this PR.
Accepted.
2.4. PR #2533: 2528 Update RFC reference (7159 -> 8259) for JSON
See PR #2533.
- MK: Pretty trivial, as JSON spec has moved on with no appreciable material change. Minor editorial changes.
- AP: It's now a real rather than proposed standard. Agreed with ECMA and IETF. (Talked about this at 2024 Prague)
- MK: Some small additions/changes in F&O regarding BOM etc.
Proposal: accept this PR.
Accepted.
2.5. PR #2531: QT4CG-154-02 Revise rules for setting stylesheet parameters
See PR #2531.
- MK: Came from the proposal to add xsl:with-param to xsl:use-package.
- … Revealed a bug in 3.0 where there was confusion about private and public parameter default visibilities
- … More careful distinction between static and dynamic parameters in these cases.
Proposal: accept this PR.
Accepted.
2.6. PR #2516: 2433 JTree function: Discuss JNode identity more fully
See PR #2516.
- MK: Address this issue at CG's request. A general set of notes about the identity of similar/same trees
- … All we can say is that two trees with differing content have different identity.
- … Not as strong a guarantee as we can give for XNodes
- … Only important in cases with extractions for the same tree, including de-duplication
- … Notes about where jtree() is call implicitly (Note context doesn't support much internal structure)
- WP: Looks helpful. Having a JNode from a tree vs ???
- JLO: Even though it is weakly defined, can I assume identical expressions on the same tree would produce the same identiies? What about via variables.
- MK: An optimizer may have inlined the content of the variable, making several tree copies. OPtimizers aren't constrained not to expand in multiple places.
Proposal: accept this PR.
Accepted.
2.7. 2.6a: PR #2551 - shadow attribute in a RNG schema
- MK: Don't really understand what it's trying to - not an RNG specialist.
- … NW might want to get involved.
- MK: I'll withdraw the PR and assign to NW.
- WP: Willing to help NW with this. Needs validation.
PR #2551 will be abandoned.
2.8. PR #2019: 1776: XSLT template rules for maps and array
See PR #2019.
Not ready for discussion.
3. Any other business
None heard.