- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Wed, 29 Apr 2026 08:13:09 +0100
- To: public-xslt-40@w3.org
Hello folks,
Apologies for the delayed announcement. Here are the draft minutes
from yesterday:
https://qt4cg.org/meeting/minutes/2026/04-28.html
QT4 CG Meeting 162 Minutes 2026-04-28
[1]Meeting index / [2]QT4CG.org / [3]Dashboard / [4]GH Issues / [5]GH
Pull Requests
Table of Contents
* [6]Summary of new and continuing actions [0/12]
* [7]Draft Minutes
* [8]1. Administrivia
+ [9]1.1. Roll call [10/10]
+ [10]1.2. Accept the agenda
+ [11]1.3. Approve minutes of the previous meeting
+ [12]1.4. Next meeting
+ [13]1.5. Review of open action items [4/12]
+ [14]1.6. Review of open pull requests and issues
o [15]1.6.1. Blocked
o [16]1.6.2. Substantive PRs
* [17]2. Technical agenda
+ [18]2.1. PR #2470: 1310 Function fn:matching-segments
+ [19]2.2. Issue 2489: fn:parts-of-dateTime, fn:parse-uri: names
& types
+ [20]2.3. Issue 2314: fn:error: return type xs:error ?
+ [21]2.4. Issue 2312: Map/Array Filter: too much syntactic
sugar?
+ [22]2.5. PR #2593: 2592 Change number-parser option to
number-format
+ [23]2.6. PR #2589: 2587 Streamability of context value
expressions
+ [24]2.7. PR #2566: 1979 Records with type annotations
* [25]3. Any other business
Summary of new and continuing actions [0/12]
* [ ] 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.
* [X] QT4CG-150-04: NW to see about a status update on PR #2345;
possibly schedule discussion
+ Absent any recent feedback, I propose closing this for now
* [ ] 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-158-01: MK to revisit the Conformance section to revise
in light of #2556 error changes
* [ ] QT4CG-158-02: MK to add system-properties() keys for file and
binary support
* [ ] QT4CG-160-01: MK to fix the markup error in method/method call
in #2578
* [ ] QT4CG-160-02: NW to think about how to promote the dated drafts
for broader community feedback.
Draft Minutes
1. Administrivia
1.1. Roll call [10/10]
* [X] David J Birnbaum (DB)
* [X] Reece Dunn (RD)
* [X] Christian Gr¸n (CG)
* [X] Joel Kalvesmaki (JK) [x:10-]
* [X] Michael Kay (MK)
* [X] Juri Leino (JLO)
* [X] John Lumley (JWL)
* [X] Alan Painter (AP)
* [X] Wendell Piez (WP)
* [X] Norm Tovey-Walsh (NW) Scribe. Chair.
1.2. Accept the agenda
Proposal: Accept [26]the agenda.
Accepted.
1.3. Approve minutes of the previous meeting
Proposal: Accept [27]the minutes of the previous meeting.
Accepted.
1.4. Next meeting
The next meeting is planned for 5 May 2026.
No regrets heard.
1.5. Review of open action items [4/12]
* [ ] 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.
* [X] QT4CG-150-04: NW to see about a status update on PR #2345;
possibly schedule discussion
+ Absent any recent feedback, I propose closing this for now
* [ ] 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-158-01: MK to revisit the Conformance section to revise
in light of #2556 error changes
* [ ] QT4CG-158-02: MK to add system-properties() keys for file and
binary support
* [ ] QT4CG-160-01: MK to fix the markup error in method/method call
in #2578
* [ ] QT4CG-160-02: NW to think about how to promote the dated drafts
for broader community feedback.
* [X] QT4CG-161-01: MK to add a record parameter to the dm:record-get
accessor. (Editorial)
* [X] QT4CG-161-02: MK to review the build-dateTime example in with
and correct as necessary.
* [X] QT4CG-161-03: MK to review the grammar; with seems to be
unreferenced.
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 [28]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 [29]#2345: 2299 Expand pipeline to allow arrow expression in
path expression
* PR [30]#2160: 2073 data model changes for JNodes and Sequences
* PR [31]#2071: 77c deep update
* PR [32]#2019: 1776: XSLT template rules for maps and array
1.6.2. Substantive PRs
The following substantive PRs were open when this agenda was prepared.
* PR [33]#2593: 2592 Change number-parser option to number-format
* PR [34]#2589: 2587 Streamability of context value expressions
* PR [35]#2566: 1979 Records with type annotations
* PR [36]#2470: 1310 Function fn:matching-segments
2. Technical agenda
2.1. PR #2470: 1310 Function fn:matching-segments
See PR [37]#2470
* MK: This was previously bundled with the proposal for an fn:regex
function; it's now been decoupled as requested.
+ ... It's sort of equivalent to xsl:analyze-string except that
it returns the information in map form.
+ ... It returns all the information about how a regex matches
an input string in a single shot: including groups, etc.
+ ... It relies on disjoint matching segments which we already
define.
MK reviews the examples in the specification.
* NW: Is it possible for the group keys to be non-sequential?
* MK: Yes, it's a map because it can be sparse.
* JLO: Do we have an option to name groups?
* MK: No. That's a feature of some regex dialects.
* JLO: We now get a sequence of maps only with matching segments. If
I want to construct the string again out of the segments, that will
be challenge.
* MK: A challenge for the reader! (Might be nice to have an example
showing that.)
* JLO: In the date example, we do match on the hyphen, but they
aren't in the output. Is that intended?
* MK: Yes, it's part of the substring as a whole but not of any
group.
MK points back to disjoint-matching-segments where the processing model
and logic are outlined.
Proposal: accept this PR.
Accepted.
2.2. Issue 2489: fn:parts-of-dateTime, fn:parse-uri: names & types
See issue [38]#2489.
This issue is marked propose closing after discussion.
* CG: I wondered whether we should change than name of a couple of
functions.
+ ... Majority of feedback was negative, I'm fine with that.
Proposal: close this issue with no further action.
Accepted.
2.3. Issue 2314: fn:error: return type xs:error ?
See issue [39]#2314.
This issue is marked propose closing after discussion.
* CG: There was a long discussion in this issue; MK suggested
changing the return type.
* MK: From the perspective of a reader of the spec, a return type of
xs:error makes more sense.
* JLO: Why is it a problem to implement xs:error as the return type?
* MK: We declare the return type as item()* because it stops the
optimizer from making inferences and optimizing it away.
* CG: Ok, I'll do a PR.
Okay, that issue will get closed by that PR.
2.4. Issue 2312: Map/Array Filter: too much syntactic sugar?
See issue [40]#2312.
This issue is marked propose closing after discussion.
* CG: I wonder if we should remove some syntactic sugar. The syntax
filter(?key, ?value) isn't used anywhere else.
+ ... We could just use map filter functions.
* MK: Remove the predicate for both maps and arrays. I think I'd
probably go along with that.
+ ... We started out with the idea that if something can be done
with sequences, it should be just as easy with arrays.
+ ... But it's another bit of syntax for people to remember and
FLOWR expressions are probably the first thing people will
turn to. But there's now where clause in XPath.
* RD: What's the objection to adding the where clause to XPath?
* MK: The where and order by are the only things that operate on
tuples of variable bindings.
+ ... You can do weird things with that; it adds quite a bit of
complexity. It doesn't reduce to just doing two nested for
expressions.
* JWL: On the for key $key value $v ... expression key and value are
both keywords.
* RD: value is full-text? It's one of the extensions.
* JLO: I have never noticed this syntax before; I found this hard to
explain. I'm in favor of dropping it.
Some discussion of the syntax of the example and how arrays and
sequences relate.
* MK: Not listed here, there are also ways of doing this with JNodes.
* CG: I can do a PR for it.
2.5. PR #2593: 2592 Change number-parser option to number-format
See PR [41]#2593
* MK: This is removing some functionality in the interest of making
things simpler.
* MK: We get rid of the number-parser function and replace it with
number-format that has three possible values.
+ ... This is to do with what you do with numbers in the
parse-json function.
* MK: In XPath 3, you always get double.
* MK: You can now choose to between double and decimal or base it on
the lexical form.
MK describes the options.
Some discussion of different options for different fields. No, you
don't get that.
* CG: My preference would have been to make the adaptive behavior the
default, but I can see why it isn't.
Proposal: accept this PR.
Accepted.
2.6. PR #2589: 2587 Streamability of context value expressions
See PR [42]#2589
* MK: This is all in the streaming spec.
* MK: This is a partial response to the long standing action that
says we need to define the streamability of new construct.
* MK: Changing context item into context value caused lots of
problems on my first attempt.
* MK: This is my attempt to define things so that it'll work.
MK reviews the streamability rules for new constructs.
* MK: I'll revise this after we accept the PR that removes map and
array filter expressions.
2.7. PR #2566: 1979 Records with type annotations
See PR [43]#2566
* MK: The only new thing here are some specific corrections from our
review and in addition the conflict with the query update syntax
using the with operator.
+ ... I changed the with operator to +:= (the record put
operator).
* MK: I also restricted it to records as requested.
* MK: There is more work needed on types and instance of. It's
complete in it's current form, I think it's a good checkpoint.
+ ... Named vs anonymous record types in instance of needs some
more thought.
* CG: I think it could be worthwhile to look at the comments on this
PR.
+ ... The XQFO spec still talks about raising errors; other
parts of the spec says the functions behave as before.
MK will review the comments and bring it back.
3. Any other business
* JLO: I got confirmation from Prague that I'll be doing an XQuery
4.0 workshop.
* JWL: I'd say that the XSLT stuff is only about 1/8th of all the
stuff so I wouldn't worry to much about it.
* MK: I'm happy to help fill in on the XSLT side.
References
1. https://qt4cg.org/meeting/minutes/
2. https://qt4cg.org/
3. https://qt4cg.org/dashboard
4. https://github.com/qt4cg/qtspecs/issues
5. https://github.com/qt4cg/qtspecs/pulls
6. https://qt4cg.org/meeting/minutes/2026/04-28.html#new-actions
7. https://qt4cg.org/meeting/minutes/2026/04-28.html#minutes
8. https://qt4cg.org/meeting/minutes/2026/04-28.html#administrivia
9. https://qt4cg.org/meeting/minutes/2026/04-28.html#roll-call
10. https://qt4cg.org/meeting/minutes/2026/04-28.html#agenda
11. https://qt4cg.org/meeting/minutes/2026/04-28.html#approve-minutes
12. https://qt4cg.org/meeting/minutes/2026/04-28.html#next-meeting
13. https://qt4cg.org/meeting/minutes/2026/04-28.html#open-actions
14. https://qt4cg.org/meeting/minutes/2026/04-28.html#open-pull-requests
15. https://qt4cg.org/meeting/minutes/2026/04-28.html#blocked
16. https://qt4cg.org/meeting/minutes/2026/04-28.html#substantive
17. https://qt4cg.org/meeting/minutes/2026/04-28.html#technical-agenda
18. https://qt4cg.org/meeting/minutes/2026/04-28.html#pr-2470
19. https://qt4cg.org/meeting/minutes/2026/04-28.html#iss-2489
20. https://qt4cg.org/meeting/minutes/2026/04-28.html#iss-2314
21. https://qt4cg.org/meeting/minutes/2026/04-28.html#iss-2312
22. https://qt4cg.org/meeting/minutes/2026/04-28.html#pr-2593
23. https://qt4cg.org/meeting/minutes/2026/04-28.html#pr-2589
24. https://qt4cg.org/meeting/minutes/2026/04-28.html#pr-2566
25. https://qt4cg.org/meeting/minutes/2026/04-28.html#any-other-business
26. https://qt4cg.org/meeting/agenda/2026/04-28.html
27. https://qt4cg.org/meeting/minutes/2026/04-21.html
28. https://qt4cg.org/meeting/minutes/2026/04-28.html#technical-agenda
29. https://qt4cg.org/dashboard/#pr-2345
30. https://qt4cg.org/dashboard/#pr-2160
31. https://qt4cg.org/dashboard/#pr-2071
32. https://qt4cg.org/dashboard/#pr-2019
33. https://qt4cg.org/dashboard/#pr-2593
34. https://qt4cg.org/dashboard/#pr-2589
35. https://qt4cg.org/dashboard/#pr-2566
36. https://qt4cg.org/dashboard/#pr-2470
37. https://qt4cg.org/dashboard/#pr-2470
38. https://github.com/qt4cg/qtspecs/issues/2489
39. https://github.com/qt4cg/qtspecs/issues/2314
40. https://github.com/qt4cg/qtspecs/issues/2312
41. https://qt4cg.org/dashboard/#pr-2593
42. https://qt4cg.org/dashboard/#pr-2589
43. https://qt4cg.org/dashboard/#pr-2566
Be seeing you,
norm
--
Norm Tovey-Walsh
CEO, Saxonica
Received on Wednesday, 29 April 2026 07:13:17 UTC