- 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