- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 20 Jan 2026 17:30:17 +0000
- To: public-xslt-40@w3.org
Hello,
Here are draft minutes from today’s meeting:
https://qt4cg.org/meeting/minutes/2026/01-20.html
QT4 CG Meeting 149 Minutes 2026-01-20
[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 [8/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 [2/5]
+ [14]1.6. Review of open pull requests and issues
o [15]1.6.1. Merge without discussion
o [16]1.6.2. Close without action
* [17]2. Technical agenda
+ [18]2.1. PR #2313: 2298 XQFO rules: definition of default
values
+ [19]2.2. PR #2387: 641 NaN/Infinity in JSON
+ [20]2.3. PR #2376: 2337 Extend xsl:mode/@typed to handle
JNodes etc
+ [21]2.4. PR #2373: 2359 No conversion to JNode in absolute
paths
+ [22]2.5. PR #2372: 2344 Change rendition of PIs in HTML5
+ [23]2.6. PR #2379: Use exported schema to validate function
catalogs
* [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-148-02: NW to publish a dated draft after QT4CG-148-01 is
complete.
* [ ] QT4CG-149-01: CG to draft a new PR with the common rule note.
* [ ] QT4CG-149-02: MK to update the PR #2372 so that the "?" are
part of the comment.
1. Administrivia
1.1. Roll call [8/10]
Regrets: JWL, JK.
* [X] David J Birnbaum (DB)
* [X] Reece Dunn (RD)
* [X] Christian Gr¸n (CG)
* [ ] Joel Kalvesmaki (JK)
* [X] Michael Kay (MK)
* [X] Juri Leino (JLO)
* [ ] 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 [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 27 January 2026.
JWL gives regrets for 27 January.
1.5. Review of open action items [2/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.
* [X] QT4CG-148-01: NW to draft a PR that marks #2351 items as "at
risk" with appropriate definitions at the top of the document
* [ ] QT4CG-148-02: NW to publish a dated draft after QT4CG-148-01 is
complete.
* [X] QT4CG-148-03: NW to revise his attempt at #2313 by using the
text "node" and a link to the appropriate text
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. 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 [28]#2383: Attempt to resolve action QT4CG-148-01
* PR [29]#2364: 2088 File Module: Feedback, Observations
Proposal: merge these PRs without further discussion.
Accepted.
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 [30]#2185: Request for an fn:xproc function
Proposal: close this issue without further action.
Accepted.
2. Technical agenda
2.1. PR #2313: 2298 XQFO rules: definition of default values
See [31]#2313.
(To briefly discuss CG's [32]comment.)
CG introduces his comment.
* CG: In my original PR, I tried to unify all the function calls, and
on the other hand I fixed a few small bugs. I'd like to get rid of
all the special rules. I'd like to have one general rule.
* CG: A general rule that says whenever the input is empty, the
default is applied. Then we could avoid having to write all the
detailed cases.
* CG: With this rule, we could possibly generate test cases for
absent vs default.
* MK: For the text example where we say that the value is 0, empty,
or absent. In the XSLT spec, we talk about the value after applying
defaults.
+ ... We could also have markup for noting that omitting the
parameter is the same as setting it to empty. But I couldn't
find a good notation for it.
* CG: But if we have one specific rule, that might be enough.
* JLO: Is this about optional parameters?
* CG: It's about the cases when an empty sequence is supplied but it
should be replaced by the default value.
+ ... The original purpose of the PR was to distinguish between
an absent argument and an argument that's present but is the
empty sequence.
* JLO: That sounds great, but sometimes we want to say that you want
to use the empty sequence and not the default value.
* RD: If I understand correctly, you've changed the type signature of
the defaults so that the "?" is removed from the type signature and
replaced it with a default.
+ ... I'm kind of hesitant with that because the empty sequence
means "zero".
+ ... Even if we do have this rule, specifying a zero-item
object can be passed to the function.
* CG: That's what NW's (: Note :) markup is for.
* RD: But in the function signatures, the types have changed.
+ ... I'm not happy with start as xs:integer := 0 if you can
pass an empty sequence.
* CG: I think we can discard my proposal to change the signatures.
* NW: So we'll close this PR and CG will make another?
ACTION QT4CG-149-01: CG to draft a new PR with the common rule note.
* NW will merge the markup changes for the note.
2.2. PR #2387: 641 NaN/Infinity in JSON
See [33]#2387.
* MK: This was a suggestion from CG. Rather than failing when you
have a number that's Infinity or NaN we output some fallback
representation.
MK reviews the PR and the fallback representations.
* RD: So those will be xs:decimal types?
* MK: No, they're double or float because that's how you get
Infinity.
+ ... They're legitimate JSON numbers, but they're out of range
for IEEE.
* JLO: It's good that we begin this up again. Last time we talked
about out, there were several options. I'm not sure I like the null
for NaN.
* MK: The only other alternative is a string. Anything is a bit
arbitrary. This seems like the closest approximation to me.
* JLO: What happens if you put these into JSON tools, like jq?
* MK: I haven't tested any.
* WP: This is just the way the thing gets written out.
* MK: This is the way we serialize the JSON if it contains an
Infinity.
Proposal: Accept this PR.
Accepted.
2.3. PR #2376: 2337 Extend xsl:mode/@typed to handle JNodes etc
See [34]#2376.
MK introduces the PR.
* MK: The main problem with this is that it overloads an attribute
that was originally designed to be a boolean and is becoming more
complex.
+ ... The @typed data started as a boolean; then it was extended
to "strict", "lax", and "unspecified".
+ ... We've never really covered the case of what typed means if
you are matching things that aren't element nodes.
+ ... The relevant section is now extended to cover them.
Proposal: Accept this PR.
Accepted.
2.4. PR #2373: 2359 No conversion to JNode in absolute paths
See [35]#2373.
* MK: This fixes a bug or inconsistency about whether or not a path
starting with "/" triggers conversion to a JNode. I chose not.
Proposal: Accept this PR.
Accepted.
2.5. PR #2372: 2344 Change rendition of PIs in HTML5
See [36]#2372.
* MK: Issue raised by CG. The rules we have for PIs in HTML are
meaningless with HTML 5 which doesn't recognize processing
instructions.
* RD: Does this only apply to the HTML serialization?
* MK: Yes.
* CG: I was a bit surprised to have the new comment; I'd have
expected the PI to be omitted.
+ But that's just one of many ways.
* RD: That depends if you're using the HTML based parser or the XML
based parser. (Some discussion of the HTML DOM and variations in
parsers.)
* MK: Leaving it in is purely for diagnostics.
* RD: Or you could have an XHTML document that you load as XML and
serialize as HTML5.
* JLO: Why is it a must be maintained as a comment.
* MK: Because on the whole we're prescriptive unless there's a good
reason not to be.
* JLO: Would it warrant a serialization option to drop them.
(Oh goodness no.)
* WP: As an XSLT person, we can do it all in a pipeline.
+ ... What are HTML5 parsers instructed to do with processing
instructions?
* RD: The parser parses them into comments.
Some discussion of why we need to do this: because we ought to produce
things that are consistent with the HTML5 grammar.
RD displays the relevant part of the WHAT WG specification. Discussion
ensues.
ACTION: QT4CG-149-02: MK to update the PR #2372 so that the "?" are
part of the comment.
2.6. PR #2379: Use exported schema to validate function catalogs
See [37]#2379.
Everyone is happy with NW or MK having to update the generated schema.
3. Any other business
Update from JLO about teaching XSLT at the CHAOS Communications
Congress.
* JLO: Some people were intrigued by the idea of XSLT
+ ... I made a proposal to do a self-organized session
+ ... I got mixed reactions; "someone unironically proposed an
XSLT talk at the conference, has hell frozen over?"
+ ... I boiled down the talk that JWL and I did at Declarative
Amsterdam
+ ... Talked briefly about the suggestions to remove XSLT from
the browser
+ ... (Got to talk to the researcher who made the suggestion to
rescind XSLT.)
* MK: Is this because people don't perceive it as a programming
language?
+ ... Anything about security here you can say about Java or
JavaScript
* WP: I think it's worse than that; they just think it's what was 20
years ago.
+ ... Perhaps we need a better story about some of the
vulnerabilities.
* JLO: I specifically pointed out that this is a declarative
programming language.
+ ... One person really, really stressed that if we have trusted
resources, that set should be empty by default.
+ ... I met someone who learned XSLT on their own and liked it.
+ ... I also got a good question from them about mixed GTrees;
why can't have a JTree inside an XNode?
+ ... I think there's maybe a way to do that.
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/01-20.html#minutes
7. https://qt4cg.org/meeting/minutes/2026/01-20.html#new-actions
8. https://qt4cg.org/meeting/minutes/2026/01-20.html#administrivia
9. https://qt4cg.org/meeting/minutes/2026/01-20.html#roll-call
10. https://qt4cg.org/meeting/minutes/2026/01-20.html#agenda
11. https://qt4cg.org/meeting/minutes/2026/01-20.html#approve-minutes
12. https://qt4cg.org/meeting/minutes/2026/01-20.html#next-meeting
13. https://qt4cg.org/meeting/minutes/2026/01-20.html#open-actions
14. https://qt4cg.org/meeting/minutes/2026/01-20.html#open-pull-requests
15. https://qt4cg.org/meeting/minutes/2026/01-20.html#merge-without-discussion
16. https://qt4cg.org/meeting/minutes/2026/01-20.html#close-without-action
17. https://qt4cg.org/meeting/minutes/2026/01-20.html#technical-agenda
18. https://qt4cg.org/meeting/minutes/2026/01-20.html#pr-2313
19. https://qt4cg.org/meeting/minutes/2026/01-20.html#pr-2387
20. https://qt4cg.org/meeting/minutes/2026/01-20.html#pr-2376
21. https://qt4cg.org/meeting/minutes/2026/01-20.html#pr-2373
22. https://qt4cg.org/meeting/minutes/2026/01-20.html#pr-2372
23. https://qt4cg.org/meeting/minutes/2026/01-20.html#pr-2379
24. https://qt4cg.org/meeting/minutes/2026/01-20.html#any-other-business
25. https://qt4cg.org/meeting/agenda/2026/01-20.html
26. https://qt4cg.org/meeting/minutes/2026/01-13.html
27. https://qt4cg.org/meeting/minutes/2026/01-20.html#technical-agenda
28. https://qt4cg.org/dashboard/#pr-2383
29. https://qt4cg.org/dashboard/#pr-2364
30. https://github.com/qt4cg/qtspecs/issues/2185
31. https://qt4cg.org/dashboard/#pr-2313
32. https://github.com/qt4cg/qtspecs/pull/2313#issuecomment-3749503811
33. https://qt4cg.org/dashboard/#pr-2387
34. https://qt4cg.org/dashboard/#pr-2376
35. https://qt4cg.org/dashboard/#pr-2373
36. https://qt4cg.org/dashboard/#pr-2372
37. https://qt4cg.org/dashboard/#pr-2379
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
Received on Tuesday, 20 January 2026 17:30:33 UTC