- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 08 Jul 2025 17:33:02 +0100
- To: public-xslt-40@w3.org
Hello,
Here are the minutes from today’s meeting:
https://qt4cg.org/meeting/minutes/2025/07-08.html
QT4 CG Meeting 128 Minutes 2025-07-08
[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/9]
* [8]1. Administrivia
+ [9]1.1. Roll call [8/12]
+ [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/6]
+ [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. Substantive PRs
* [18]2. Technical agenda
+ [19]2.1. PR #2083: 2054 Generalized Path Expressions
+ [20]2.2. PR #2077 File Module: Incorporate changes
* [21]3. Any other business
* [22]4. Adjourned
Draft Minutes
Summary of new and continuing actions [0/9]
* [ ] QT4CG-082-02: DN to work with NW to come to agreement on the
fn:ranks proposal
* [ ] QT4CG-112-01: JLO to propose a concrete example that uses "."
in a ~%method~s.
* [ ] QT4CG-116-01: Add a specific error code for unsupported options
on doc and doc-available
* [ ] QT4CG-118-01: MK to make an incorrect type raise an error in
#1906
* [ ] QT4CG-123-01: MK to do the set example in XQuery.
* [ ] QT4CG-127-01: NW to diagram the JTree representing arbitrary
XDM content.
* [ ] QT4CG-128-01 CG to consider using "standard" or some other term
instead of "regular" in the file: module.
* [ ] QT4CG-128-02 CG to investigate what to say about permissions.
* [ ] QT4CG-128-03 NW to compare the file: module against the
equivalent XProc 3.1 steps
1. Administrivia
1.1. Roll call [8/12]
Regrets: DB, JWL, BTW
* [ ] David J Birnbaum (DB)
* [X] Reece Dunn (RD)
* [X] Christian Gr¸n (CG)
* [X] Joel Kalvesmaki (JK)
* [X] Michael Kay (MK)
* [X] Juri Leino (JLO)
* [ ] John Lumley (JWL)
* [ ] Dimitre Novatchev (DN)
* [X] Wendell Piez (WP)
* [X] Ed Porter (EP)
* [ ] Bethan Tovey-Walsh (BTW)
* [X] Norm Tovey-Walsh (NW) Scribe. Chair.
1.2. Accept the agenda
Proposal: Accept [23]the agenda.
Accepted.
1.3. Approve minutes of the previous meeting
Proposal: Accept [24]the minutes of the previous meeting.
Accepted.
1.4. Next meeting
The next meeting is scheduled for 15 July 2025.
No regrets heard.
1.5. Review of open action items [1/6]
(Items marked [X] are believed to have been closed via email before
this agenda was posted.)
* [ ] QT4CG-082-02: DN to work with NW to come to agreement on the
fn:ranks proposal
* [ ] QT4CG-112-01: JLO to propose a concrete example that uses "."
in a ~%method~s.
* [ ] QT4CG-116-01: Add a specific error code for unsupported options
on doc and doc-available
* [ ] QT4CG-118-01: MK to make an incorrect type raise an error in
#1906
* [ ] QT4CG-123-01: MK to do the set example in XQuery.
* [ ] QT4CG-127-01: NW to diagram the JTree representing arbitrary
XDM content.
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 [25]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 [26]#2063: 1996 Lookups, KeySpecifier: Literal, ContextValueRef
* PR [27]#2019: 1776: XSLT template rules for maps and array
* PR [28]#1062: 150bis revised proposal for fn:ranks
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 [29]#2070: Map build patch
Proposed: merge without discussion.
Accepted.
1.6.3. Substantive PRs
The following substantive PRs were open when this agenda was prepared.
* PR [30]#2083: 2054 Generalized Path Expressions
* PR [31]#2031: 2025 JNodes
* PR [32]#2077: 2016 File Module: Incorporate changes
* PR [33]#2071: 77c deep update
* PR [34]#2043: 2038 Tweak the rules for fn:apply-templates
references to modes
* PR [35]#2037: 2036 Add rule for streamability of xsl:map
* PR [36]#2019: 1776: XSLT template rules for maps and array
* PR [37]#2014: QT4CG-122-01 Add notes, examples, and rationale for
xsl:select
* PR [38]#2011: 675(part): Add XSLT static typing rules for new kinds
of XPath expression
2. Technical agenda
This week, let's continue our review of the JNodes proposal, starting
with the proposal for generalized path expressions.
2.1. PR #2083: 2054 Generalized Path Expressions
See PR [39]#2083
MK introduces the PR: it's a branch on top of the JNodes branch.
* MK: It's inspired by a remark from CG about not overloading the "?"
operator. I went back and considered if we could use "/" now that
there's more symmetry in the axes.
+ All of the substantive changes are in path expressions.
MK walks through the revised prose.
* MK: I changed the structure of the grammar, but not the semantics.
Forward and reverse steps are no longer a syntactic distinction.
* MK: There's more change in the section on node tests.
Looking at the syntax first.
* MK: A SimpleNodeTest is now either a TypeTest or a Selector
(KindTest has been generalized to TypeTest and NameTest has been
generalized to Selector).
MK walks through the details of the grammar.
* MK: We split into selectors on XNodes and selectors on JNodes.
+ ... There's a new capability where as selector can take
get(expr). You can dynamically compute the element names you
want to select.
* MK: The complimentary text for JNodes is the same syntax but
different semantics.
+ ... The semantics of NCName now depend on the kind of
expression you're evaluating.
+ ... Indexing into arrays is child::*[3] (or child::get(3)).
Moving on to type tests.
* MK: With sufficient contrivance, I think you can probably wrap a
JNode in JNode. So it's possible in theory that you'd want JNode().
* MK: In the abbreviated syntax, @ is retained but doesn't apply to
JNodes.
* MK: The other area of change is Lookup Expressions which I've
trimmed back to basically what we had in 3.1. We don't need to have
two solutions to the same problem.
* JLO: I'm very pleased. I have some questions...what happens if I'm
doing a path expression like child::code on a mixed sequence?
* MK: At the moment, there's no rule that says the left hand side has
to be homogeneous.
* JLO: So what will this return?
(<code/>, map{"code": 1})//child:code
* MK: That will select from both of them.
* JK: Satisfying and gratifying. In the JNode selector section, the
examples assume that the JNodes are arrays or maps. What happens if
they are entries?
* MK: There probably should be more examples of that. I think the
rules cover it because they're defined in terms of the children
accessor.
* JK: It's really going to throw people if it returns unexpected
results.
* MK: In a sense, I want to focus on the core cases first.
* RD: I agree this all looks very good. The item type "instance of"
expression for GNodes and JNodes should be lower case.
* MK: There's a precedent in QName where we use upper-case.
* NW: I was going to make a similar comment.
* JLO: More generally, we have GNodes, XNodes, and JNodes and we have
XTrees and JTrees, but do we have GTrees?
* MK: A tree either consists entirely of JNodes or entirely of
XNodes. A GNode is an abstract concept; it's always one or the
other.
* JLO: We have document node in the absolute path section. Is it
useful for us to have the concept of a JRoot or JDocument?
* MK: I didn't feel it was useful to have different kinds of JNode in
the type system.
+ ... A JNode is either a root or a non-root, but I didn't add
it to the type system.
+ ... I don't see any operations that are different between
those cases.
+ ... But I suppose the same is true of subtypes of XML nodes.
+ ... That could be added, but I didn't see any value.
* JLO: If you select with an absolute path, you always get a JNode
that is a root.
* MK: Slash itself will always select a parentless node.
* JLO: Oh, right, so what I said was wrong.
* WP: What would a schema language for JSON look like? Very cool.
Some discussion of the practical next steps.
* MK: What I propose doing is to come back with an editorially
complete version except for the XSLT side. That will require
technical work.
+ ... Hopefully we can review it briefly next week and accept
it.
The CG agrees to move on to some other open PRs.
2.2. PR #2077 File Module: Incorporate changes
See PR [40]#2077
* CG: I've tried to unify things and bring it into alignment with
other specifications.
CG summarizes the changes, generally.
* NW: I'm not sure that all operating systems define a last modified
time for a directory.
+ ... Maybe last-modified should return xs:dateTime?.
* CG: I'll investigate.
CG continues a survey of the functions in the spec.
* NW: What about "/" and "\"?
* CG: I think that the user should use path-to-uri.
* JLO: I don't know how often permissions are handled in this
specification?
+ ... Since we have a function to list all roots, that will
likely raise permissions issues?
* CG: Permissions are fairly tricky.
+ ... It's very OS dependent.
* NW: It's messy, even in Java.
* JLO: Do we raise issues if the OS raises them, or do we swallow
them.
* CG: Unclear. I can think about error handling for those cases.
* JLO: From the very non-conformant eXist implementation, you can't
list roots unless you're an administrator.
* CG: Some of the file module may be inaccessible if you don't have
administrator privileges.
* JK: This looks really good. Could we avoid "regular" because it
makes me think of regular expressions.
+ ... But perhaps we should define what it means.
* RD: Can we reference the POSIX spec?
* CG: Yes.
ACTION: QT4CG-128-01 CG to consider using "standard" or some other term
instead of "regular" in the file: module. ACTION: QT4CG-128-02 CG to
investigate what to say about permissions.
Proposal: accept this PR.
Accepted.
ACTION: QT4CG-128-03 NW to compare the file: module against the
equivalent XProc 3.1 steps
3. Any other business
None heard.
4. Adjourned
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/07-08.html#minutes
7. https://qt4cg.org/meeting/minutes/2025/07-08.html#new-actions
8. https://qt4cg.org/meeting/minutes/2025/07-08.html#administrivia
9. https://qt4cg.org/meeting/minutes/2025/07-08.html#roll-call
10. https://qt4cg.org/meeting/minutes/2025/07-08.html#agenda
11. https://qt4cg.org/meeting/minutes/2025/07-08.html#approve-minutes
12. https://qt4cg.org/meeting/minutes/2025/07-08.html#next-meeting
13. https://qt4cg.org/meeting/minutes/2025/07-08.html#open-actions
14. https://qt4cg.org/meeting/minutes/2025/07-08.html#open-pull-requests
15. https://qt4cg.org/meeting/minutes/2025/07-08.html#blocked
16. https://qt4cg.org/meeting/minutes/2025/07-08.html#merge-without-discussion
17. https://qt4cg.org/meeting/minutes/2025/07-08.html#substantive
18. https://qt4cg.org/meeting/minutes/2025/07-08.html#technical-agenda
19. https://qt4cg.org/meeting/minutes/2025/07-08.html#pr-2083
20. https://qt4cg.org/meeting/minutes/2025/07-08.html#pr-2016
21. https://qt4cg.org/meeting/minutes/2025/07-08.html#any-other-business
22. https://qt4cg.org/meeting/minutes/2025/07-08.html#adjourned
23. https://qt4cg.org/meeting/agenda/2025/07-08.html
24. https://qt4cg.org/meeting/minutes/2025/07-01.html
25. https://qt4cg.org/meeting/minutes/2025/07-08.html#technical-agenda
26. https://qt4cg.org/dashboard/#pr-2063
27. https://qt4cg.org/dashboard/#pr-2019
28. https://qt4cg.org/dashboard/#pr-1062
29. https://qt4cg.org/dashboard/#pr-2070
30. https://qt4cg.org/dashboard/#pr-2083
31. https://qt4cg.org/dashboard/#pr-2031
32. https://qt4cg.org/dashboard/#pr-2077
33. https://qt4cg.org/dashboard/#pr-2071
34. https://qt4cg.org/dashboard/#pr-2043
35. https://qt4cg.org/dashboard/#pr-2037
36. https://qt4cg.org/dashboard/#pr-2019
37. https://qt4cg.org/dashboard/#pr-2014
38. https://qt4cg.org/dashboard/#pr-2011
39. https://qt4cg.org/dashboard/#pr-2083
40. https://qt4cg.org/dashboard/#pr-2077
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
Received on Tuesday, 8 July 2025 16:33:08 UTC