- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 10 Feb 2026 19:00:01 +0000
- To: public-xslt-40@w3.org
Hello,
Here are the draft minutes from today’s meeting:
https://qt4cg.org/meeting/minutes/2026/02-10.html
QT4 CG Meeting 152 Minutes 2026-02-10
[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/5]
* [8]1. Administrivia
+ [9]1.1. Roll call [9/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 [1/11]
+ [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 #2452: 2450 Add jnode((), *) to match root JNodes
+ [20]2.2. PR #2451: 2444 Make match="*" and match="N" match
element nodes only
+ [21]2.3. PR #2449: 2445 Add rules for xsi namespace elements
in element-to-map
+ [22]2.4. PR #2446: 2427 Add computed node constructors to
XPath
+ [23]2.5. PR #2441: 2434 Fix inconsistencies with GNode tests
in axis steps
* [24]3. Any other business
Draft Minutes
Summary of new and continuing actions [0/5]
* [ ] QT4CG-143-02: MK to try to recover the ability to extract
formal equivalences into tests
* [ ] QT4CG-143-03: JK to look for C14N test suites.
* [ ] QT4CG-144-01: MK to consider if any now lost value comparisons
should be added as examples.
* [ ] QT4CG-149-01: CG to draft a new PR with the common rule note.
* [ ] QT4CG-150-01: NW to ask Jirka for a room at XML Prague for
Tuesday/Wednesday
* [ ] QT4CG-150-02: Everyone review the "nice to have" tags and
object where they wish
* [ ] QT4CG-150-03: NW to setup an agenda item to review open issues
* [ ] QT4CG-150-04: NW to see about a status update on PR #2345;
possibly schedule discussion
* [ ] QT4CG-151-01: MK to fix the typo in the build-dateTime
function.
* [ ] QT4CG-151-03: NW to investigate why records are formatted
incorrectly in XSLT
* [ ] QT4CG-152-01: MK to add a note about the new and old syntax for
names in PR #2446
1. Administrivia
1.1. Roll call [9/10]
Regrets: WP.
* [X] David J Birnbaum (DB) [x:06-]
* [X] Reece Dunn (RD)
* [X] Christian Gr¸n (CG)
* [X] Joel Kalvesmaki (JK) [x:05-]
* [X] Michael Kay (MK)
* [X] Juri Leino (JLO)
* [X] John Lumley (JWL)
* [X] Alan Painter (AP
* [ ] Wendell Piez (WP)
* [X] Norm Tovey-Walsh (NW) Scribe. Chair.
1.2. Accept the agenda
Proposal: Accept [25]the agenda.
Accepted.
1.3. Approve minutes of the previous meeting
Proposal: Accept [26]the minutes of the previous meeting.
Accepted.
1.4. Next meeting
The next meeting is planned for 17 February 2026.
DB gives regrets for 17 February.
1.5. Review of open action items [1/11]
* [ ] QT4CG-143-02: MK to try to recover the ability to extract
formal equivalences into tests
* [ ] QT4CG-143-03: JK to look for C14N test suites.
* [ ] QT4CG-144-01: MK to consider if any now lost value comparisons
should be added as examples.
* [ ] QT4CG-149-01: CG to draft a new PR with the common rule note.
* [ ] QT4CG-150-01: NW to ask Jirka for a room at XML Prague for
Tuesday/Wednesday
* [ ] QT4CG-150-02: Everyone review the "nice to have" tags and
object where they wish
* [ ] QT4CG-150-03: NW to setup an agenda item to review open issues
* [ ] QT4CG-150-04: NW to see about a status update on PR #2345;
possibly schedule discussion
* [ ] QT4CG-151-01: MK to fix the typo in the build-dateTime
function.
* [X] QT4CG-151-02: NW to generate compiled schema, merge #2404.
* [ ] QT4CG-151-03: NW to investigate why records are formatted
incorrectly in XSLT
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 [27]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 [28]#2313: 2298 XQFO rules: definition of default values
* PR [29]#2266: 540 system-property equivalent for XQuery
* 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. 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 [33]#2440: 2432 Clarify effect of coercion on constructor
functions
* PR [34]#2439: Fix prefix on bin:int-octets example function
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 [35]#2436: `jnode` type: arguments (spec vs. tests)
Proposal: close without further action.
Accepted.
2. Technical agenda
2.1. PR #2452: 2450 Add jnode((), *) to match root JNodes
See PR [36]#2452.
* MK: This arose in the context of match patterns in XSLT. What's the
equivalent of "/" for a JNode tree?
+ ... There wasn't a convenient way of doing it; I proposed a
change to the type syntax to cover this case and keep them
aligned.
* MK: We get a JRootSelector in JNodeType. I considered "/", but CG
proposed "()".
+ ... I took the opportunity to clarify the text a bit.
MK reviews the clarified rules.
Some discussion of the differences between "*" for XNode and JNode
trees.
* MK: Added some more examples.
* MK: It migrates into XSLT patterns as well.
Proposal: accept this PR.
Accepted.
2.2. PR #2451: 2444 Make match="*" and match="N" match element nodes only
See PR [37]#2451.
* MK: The current rules for axis steps are that an axis step of "*"
will match an element if you're starting at an XNode and a JNode
with any selector starting at a JNode.
+ ... I found it was hard to implement the semantics for that,
especially with streaming. You can't do precise type checking.
And it's a bit of a usability problem.
+ ... If you have a lot of match="N" predicates and you add
support for JNodes somewhere, that changes all the semantics.
That's a probably going to introduce bugs.
* MK: Match="*" and match="N" have been clarified to say they don't
match JNodes. To match JNodes you have to be explicit.
+ ... XSLT 3.x tried to identify the leading steps but it didn't
work. I've fixed that.
+ ... We add new magic that if the node test is an EQName or
Wildcard, we wrap it in an element test. So match="N" is
match="element(N)"
+ ... A few examples are updated.
* MK: It was tricky to get right, but it's a fairly small change.
MK observes that this doesn't effect path expressions; it only applies
to XSLT match patterns.
Proposal: accept this PR.
Accepted.
2.3. PR #2449: 2445 Add rules for xsi namespace elements in element-to-map
See PR [38]#2449.
* MK: We had examples that we clearly ignored xsi: attributes, but I
couldn't find anything in the spec to justify that.
+ ... There is some special handling of xsi:nil.
+ ... This PR makes the text reflect the examples.
* MK: Adds a new section, 14.5.3 Attributes in the xsi namespace.
MK reviews the new rules in the section.
* JLO: What example does this apply to?
* MK: The attributes that you get in the xsi namespace are all to
control schema validation.
+ ... It's unlikely you'd want those in your JSON; they don't
mean anything in that world.
+ ... xsi:nil says that the contents of this element are nil;
like null in SQL.
+ ... The schema location and type attributes tell you where to
find the schema and how subtyping works.
+ ... If you're in a vocabulary that uses xsi:type, you're
probably best-off doing some pre-transformation to put that
information in a more sensible form for the JSON.
Proposal: accept this PR.
Accepted.
2.4. PR #2446: 2427 Add computed node constructors to XPath
See PR [39]#2446.
* MK: I've proposed that we add functions to create nodes to XPath
several times. I've had pushback on the grounds that if you're in
XQuery, there are now two ways to do it.
+ ... I prefer to use functions, but in the interest of not
having that duplication, this adds a subset of XQuery
capability to XPath.
+ ... It doesn't add direct constructors, that makes it simpler.
+ ... It doesn't introduce some of the options that XQuery gives
you, such as whether or not to inherit namespaces. This
proposal takes the default options.
* MK: The main difficulty was actually integrating the text into the
spec!
* MK: The constructed element namespace rule moves into XPath.
+ ... A NodeConstructor is one of the PrimaryExpr; it's only
allowed to be a ComputedConstructor.
* MK: New section, 4.13 Node Constructors
+ ... Seven kinds of nodes.
+ ... I've pulled out a section a bout constructing complex
content that was previously five levels deep.
+ ... A more amibitious scheme would be to have a single set of
rules for XPath, XQuery, and XSLT. I haven't tried to do that
(yet).
* MK: It's the rules we're familiar with...flatten arrays, merge
items, etc.
+ ... That's the same as the XQuery rules with default options.
* MK: Next is the specific grammar; it's subsetted so that the name
part must either be a QName literal or a computed expression. We
haven't retained the option of a bare name without the hash. That
gave us syntax ambiguity problems in XQuery.
* MK: There's a lot of text, but most of it is old text rearranged.
MK would like a more comprehensive review, so perhaps not merge it
today.
* MK: In XQuery, there are a few editorial changes.
+ ... The examples have been changed to use the new #name
syntax.
* MK: So XQuery doesn't change technically, just some editorial
changes.
* JWL: The use of QName literal in XQuery doesn't mean it's
deprecated does it?
+ ... It's a preference, I wonder if that needs to be
emphasized. We don't want users to think they have to change
all their code!
* MK: I can certainly add a note.
ACTION QT4CG-152-01: MK to add a note about the new and old syntax for
names in PR #2446
Proposal: will put this in the "merge without discussion list" next
week
2.5. PR #2441: 2434 Fix inconsistencies with GNode tests in axis steps
See PR [40]#2441.
* MK: Allows child::gnode(), removed self::array(*), allow functions
that accept to the context item to accept GNodes.
* JWL: Does that mean that the self: axis test can be used on a
JNode?
* MK: Yes.
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/2026/02-10.html#minutes
7. https://qt4cg.org/meeting/minutes/2026/02-10.html#new-actions
8. https://qt4cg.org/meeting/minutes/2026/02-10.html#administrivia
9. https://qt4cg.org/meeting/minutes/2026/02-10.html#roll-call
10. https://qt4cg.org/meeting/minutes/2026/02-10.html#agenda
11. https://qt4cg.org/meeting/minutes/2026/02-10.html#approve-minutes
12. https://qt4cg.org/meeting/minutes/2026/02-10.html#next-meeting
13. https://qt4cg.org/meeting/minutes/2026/02-10.html#open-actions
14. https://qt4cg.org/meeting/minutes/2026/02-10.html#open-pull-requests
15. https://qt4cg.org/meeting/minutes/2026/02-10.html#blocked
16. https://qt4cg.org/meeting/minutes/2026/02-10.html#merge-without-discussion
17. https://qt4cg.org/meeting/minutes/2026/02-10.html#close-without-action
18. https://qt4cg.org/meeting/minutes/2026/02-10.html#technical-agenda
19. https://qt4cg.org/meeting/minutes/2026/02-10.html#pr-2452
20. https://qt4cg.org/meeting/minutes/2026/02-10.html#pr-2451
21. https://qt4cg.org/meeting/minutes/2026/02-10.html#pr-2449
22. https://qt4cg.org/meeting/minutes/2026/02-10.html#pr-2446
23. https://qt4cg.org/meeting/minutes/2026/02-10.html#pr-2441
24. https://qt4cg.org/meeting/minutes/2026/02-10.html#any-other-business
25. https://qt4cg.org/meeting/agenda/2026/02-10.html
26. https://qt4cg.org/meeting/minutes/2026/02-03.html
27. https://qt4cg.org/meeting/minutes/2026/02-10.html#technical-agenda
28. https://qt4cg.org/dashboard/#pr-2313
29. https://qt4cg.org/dashboard/#pr-2266
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-2440
34. https://qt4cg.org/dashboard/#pr-2439
35. https://github.com/qt4cg/qtspecs/issues/2436
36. https://qt4cg.org/dashboard/#pr-2452
37. https://qt4cg.org/dashboard/#pr-2451
38. https://qt4cg.org/dashboard/#pr-2449
39. https://qt4cg.org/dashboard/#pr-2446
40. https://qt4cg.org/dashboard/#pr-2441
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
Received on Tuesday, 10 February 2026 19:00:08 UTC