- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 14 Oct 2025 17:43:15 +0100
- To: public-xslt-40@w3.org
Hi folks,
Here are today’s minutes:
https://qt4cg.org/meeting/minutes/2025/10-14.html
QT4 CG Meeting 138 Minutes 2025-10-14
[1]Meeting index / [2]QT4CG.org / [3]Dashboard / [4]GH Issues / [5]GH
Pull Requests
Table of Contents
* [6]Draft Minutes
* [7]Summary of new and continuing actions [0/0]
* [8]1. Administrivia
+ [9]1.1. Roll call [7/11]
+ [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 [6/9]
+ [14]1.6. Review of open pull requests and issues
o [15]1.6.1. Blocked
o [16]1.6.2. Merge without discussion
o [17]1.6.3. Close without action
* [18]2. Technical agenda
+ [19]2.1. PR #2239: First cut at diagrams for JNodes (completes
QT4CG-127-01)
+ [20]2.2. PR #2232: 1935 Errors from doc-available
+ [21]2.3. PR #2228: 2012 Define array:sort-with, revise
fn:sort-with
+ [22]2.4. PR #2227: 2079 Allow optional prefix in EQName syntax
+ [23]2.5. PR #2226: 2186 Change adaptive serialization of
JNodes
+ [24]2.6. PR #2225: 1718 Ordered Maps: positions in callback
functions
+ [25]2.7. PR #2240: 2237 XSLT impact of multiple schemas
+ [26]2.8. PR #2236: 2235 Tweak the rules for default function
namespace
+ [27]2.9. PR #2208: 675 (part) Update XSLT streamability rules
* [28]3. Any other business
Draft Minutes
Summary of new and continuing actions [0/0]
None
1. Administrivia
1.1. Roll call [7/11]
Regrets: DB, JWL.
* [ ] David J Birnbaum (DB)
* [X] Reece Dunn (RD)
* [X] Christian Gr¸n (CG)
* [X] Joel Kalvesmaki (JK)
* [X] Michael Kay (MK)
* [ ] Juri Leino (JLO)
* [X] John Lumley (JWL) [:39-]
* [X] Wendell Piez (WP)
* [ ] Ed Porter (EP)
* [ ] Bethan Tovey-Walsh (BTW)
* [X] Norm Tovey-Walsh (NW) Scribe. Chair.
1.2. Accept the agenda
Proposal: Accept [29]the agenda.
Accepted.
1.3. Approve minutes of the previous meeting
Proposal: Accept [30]the minutes of the previous meeting.
Accepted.
1.4. Next meeting
The next meeting is planned for 21 October 2025.
No regrets heard.
1.5. Review of open action items [6/9]
(Items marked [X] are believed to have been closed via email before
this agenda was posted.)
* [X] QT4CG-116-01: Add a specific error code for unsupported options
on doc and doc-available
+ Overtaken by [31]#2245.
* [X] QT4CG-127-01: NW to diagram the JTree representing arbitrary
XDM content.
* [X] QT4CG-128-03: NW to compare the file: module against the
equivalent XProc 3.1 steps
* [X] QT4CG-137-01: NW to make a concrete proposal for tagged drafts
* [X] QT4CG-137-02: NW to try to review the spec vis-a-vis #2148
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 [32]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 [33]#2224: 2148 fn:base-uri: Raise error
* PR [34]#2222: 2217 bin:decode-string: Input encoding
* PR [35]#2124: 573 Functions to Construct Trees
* PR [36]#2120: 2007 Revised design for xsl:array
* PR [37]#2071: 77c deep update
* PR [38]#2019: 1776: XSLT template rules for maps and array
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 [39]#2244: Fix bibliographic reference
* PR [40]#2231: Updated status section for all documents
Proposal: merge without discussion.
Accepted.
1.6.3. 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 [41]#1537: XSLT: local functions within an enclosing xsl:mode
Proposal: close without further action.
Accepted.
2. Technical agenda
This agenda attempts to front-load PRs that appear to be
straightforward and likely to meet with quick approval. Proposals for
reordering are always in order, no pun intended.
2.1. PR #2239: First cut at diagrams for JNodes (completes QT4CG-127-01)
See PR [42]#2239.
Proposal: accept the PR.
Accepted.
2.2. PR #2232: 1935 Errors from doc-available
See PR [43]#2232.
* MK: I think this is mostly editorial. There's clarification here
about when an error might be raised.
+ ... It's a bit arbitrary, but I thought a consistent response
was better than lots of error conditions.
Proposal: accept the PR.
Accepted.
2.3. PR #2228: 2012 Define array:sort-with, revise fn:sort-with
See PR [44]#2228.
* MK: The array:sort-with function has been longstanding and in
review, I decided that editorial improvements to fn:sort-with were
needed.
+ ... The only technical change is that at least one comparitor
is required.
+ ... The description is narrative so that it looks less like an
implementation.
+ ... If a comparitor raises an error, that's raised by the sort
function.
* MK: The array:sort-with reuses the same text, adjusted accordingly.
Proposal: accept the PR.
Accepted.
2.4. PR #2227: 2079 Allow optional prefix in EQName syntax
See PR [45]#2227.
* MK: This one came from a Saxon user request. There are various APIs
where you can supply EQNames and the user observed that there was
no way to provide a prefix for the QName. That meant it had no
prefix in error messages.
+ ... Expanding the API to allow a prefix fixes this problem.
* MK: It also effects the fn:parse-EQName function.
MK reviews the impact in XPath.
* MK: It's the prefix followed by the colon that's optional.
* RD: There are two ways of specifying a qualified name, by way of an
in-scope prefix, or to use the qualified name and specify the
namespace URI. This would only apply in the case where the
namespace isn't in the predefined namespaces?
Some discussion of the problems of passing namespace contexts through
APIs.
* MK: Internally, the only way to define an error code in some
contexts is with an AVT, so you need to pass in the name as a
string.
Some discussion of what constitutes a QName. It's a triple, a namespace
URI, a local part, and a prefix.
* RD: One issue I forsee is that if you have xs: or xsd: as the
schema prefix, and you specify the namespace and a different
prefix, which one takes priority? Is it an error?
* MK: You're just creating a QName here, you're not putting it in any
context.
+ ... This doesn't refer to any in-scope bindings; it's just
creating a triple.
Further discussion of possible confusion.
* RD: In Dublin Core there are two namespaces, one for the elements
and one for the terms. You could define the terms as "dc:" in the
prolog. In your code you could bind "dc:" to the elements
namespace.
Some discussion of namespace fixup in serialization.
* MK: It's already possible to use fn:QName to make arbitrary
triples. This doesn't change that, it just gives you another way to
do it.
* WP: RD is identifying the original sin of namespaces...
* RD: With fn:QName you can't do static lookup of a function, but if
we had the extended EQName syntax, then you could try calling
~fn:count~...
* MK: The spec for function lookup says that it ignores the prefix
component.
* NW: MK is right, there's nothing new here.
* RD: In this case, the namespace still takes priority.
* MK: In nearly all context, the prefix is ignored. It only matters
when you turn it into a string.
Some discussion of when and how the prefix is used to lookup a
namespace binding.
CG provides an XQuery example in which a prefix is defined more than
once (already possible):
element {
QName('uri', 'prefix:local')
} {
namespace prefix { 'uri2' }
}
Possible result (dependent on implementation):
<prefix:local xmlns:prefix="uri" xmlns:prefix_1="uri2"/>
* CG: There's a typo in the PR.
Proposal: accept this PR.
Accepted.
2.5. PR #2226: 2186 Change adaptive serialization of JNodes
See PR [46]#2226.
MK introduces the PR.
* MK: This is from my own experience where you get back a JNode when
you were expecting the data.
MK reviews the changes proposed in the PR:
Proposal: accept this PR.
Accepted.
2.6. PR #2225: 1718 Ordered Maps: positions in callback functions
See PR [47]#2225.
CG introduces the PR.
* CG: Now that maps are ordered, there are many opportunities to use
maps instead of sequences when you have key/value pairs.
+ ... This PR allows you to use the position.
* MK: It took me a while to get myself reconciled to this idea, but
now that ordering is fully entrenched for maps, I think it makes
sense.
Proposal: accept this PR.
Accepted.
2.7. PR #2240: 2237 XSLT impact of multiple schemas
See PR [48]#2240.
* MK: This is essentially editorial; we accepted the proposal to
allow multiple schemas to be imported.
+ ... This PR adds text to clarify what that means in places
that didn't admit that possibility.
MK reviews the changes.
Proposal: accept this PR.
Accepted.
2.8. PR #2236: 2235 Tweak the rules for default function namespace
See PR [49]#2236.
* MK: We made it possible to have functions without a prefix and
those should be used in preference to the default function
namespace.
+ ... This PR fixes a few gaps.
+ ... If you specify a default function namespace, that's the
only one that's searched.
+ ... In XSLT, you can't define a default function namespace,
but you're only allowed to omit the prefix on a private
function. That means it doesn't complicate the rules for
functions across packages.
* JWL: Are we losing something in terms of guarding against
accidental spelling errors and things like that.
+ ... Something about this doesn't feel quite right...
* MK: We do regard having ambiguous references with a bit of horror;
but most programming languages allow function names to mean
different things in different places. There's always some sort of
implicit qualification.
* JWL: Could I do something like next match, or xsl:original in
packages? Can I make my own subsequence that calls the fn: one?
* MK: Yes, by using the namespace prefix explicitly.
* WP: The main question for me is, should we be saying anything about
the use case of overriding?
* MK: Yes, a little bit of usage guidance might be good.
Proposal: accept this PR.
Accepted.
2.9. PR #2208: 675 (part) Update XSLT streamability rules
See PR [50]#2208.
* MK reviews the proposal.
* MK: You can't put streamed nodes in a map or array
+ ... The first argument of array:slice can't be a streamed
node, so T doesn't make sense.
+ ... I fixed a few others along the same lines.
* MK: There was a section on maps and streaming; I've added a
parallel section on arrays and streaming.
Proposal: accept this PR.
Accepted.
3. Any other business
None heard.
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/2025/10-14.html#minutes
7. https://qt4cg.org/meeting/minutes/2025/10-14.html#new-actions
8. https://qt4cg.org/meeting/minutes/2025/10-14.html#administrivia
9. https://qt4cg.org/meeting/minutes/2025/10-14.html#roll-call
10. https://qt4cg.org/meeting/minutes/2025/10-14.html#agenda
11. https://qt4cg.org/meeting/minutes/2025/10-14.html#approve-minutes
12. https://qt4cg.org/meeting/minutes/2025/10-14.html#next-meeting
13. https://qt4cg.org/meeting/minutes/2025/10-14.html#open-actions
14. https://qt4cg.org/meeting/minutes/2025/10-14.html#open-pull-requests
15. https://qt4cg.org/meeting/minutes/2025/10-14.html#blocked
16. https://qt4cg.org/meeting/minutes/2025/10-14.html#merge-without-discussion
17. https://qt4cg.org/meeting/minutes/2025/10-14.html#close-without-action
18. https://qt4cg.org/meeting/minutes/2025/10-14.html#technical-agenda
19. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2239
20. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2232
21. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2228
22. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2227
23. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2226
24. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2225
25. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2240
26. https://qt4cg.org/meeting/minutes/2025/10-14.html#pr-2236
27. https://qt4cg.org/meeting/minutes/2025/10-14.html#h-EA605FF8-78BF-4E0E-981D-7FF7358857E0
28. https://qt4cg.org/meeting/minutes/2025/10-14.html#any-other-business
29. https://qt4cg.org/meeting/agenda/2025/10-14.html
30. https://qt4cg.org/meeting/minutes/2025/10-07.html
31. https://github.com/qt4cg/qtspecs/issues/2245
32. https://qt4cg.org/meeting/minutes/2025/10-14.html#technical-agenda
33. https://qt4cg.org/dashboard/#pr-2224
34. https://qt4cg.org/dashboard/#pr-2222
35. https://qt4cg.org/dashboard/#pr-2124
36. https://qt4cg.org/dashboard/#pr-2120
37. https://qt4cg.org/dashboard/#pr-2071
38. https://qt4cg.org/dashboard/#pr-2019
39. https://qt4cg.org/dashboard/#pr-2244
40. https://qt4cg.org/dashboard/#pr-2231
41. https://github.com/qt4cg/qtspecs/issues/1537
42. https://qt4cg.org/dashboard/#pr-2239
43. https://qt4cg.org/dashboard/#pr-2232
44. https://qt4cg.org/dashboard/#pr-2228
45. https://qt4cg.org/dashboard/#pr-2227
46. https://qt4cg.org/dashboard/#pr-2226
47. https://qt4cg.org/dashboard/#pr-2225
48. https://qt4cg.org/dashboard/#pr-2240
49. https://qt4cg.org/dashboard/#pr-2236
50. https://qt4cg.org/dashboard/#pr-2208
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
Received on Tuesday, 14 October 2025 16:43:22 UTC