- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 12 Nov 2024 18:07:20 +0000
- To: public-xslt-40@w3.org
- Message-ID: <m25xosfhrb.fsf@saxonica.com>
Here are the minutes from today’s meeting: https://qt4cg.org/meeting/minutes/2024/11-12.html QT4 CG Meeting 098 Minutes 2024-11-12 [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 [10/12] + [10]1.2. Accept the agenda o [11]1.2.1. Status so far... + [12]1.3. Approve minutes of the previous meeting + [13]1.4. Next meeting + [14]1.5. Review of open action items [1/8] + [15]1.6. Review of open pull requests and issues o [16]1.6.1. Blocked o [17]1.6.2. Merge without discussion * [18]2. Technical agenda + [19]2.1. PR #1565: 1555 change default for parse json escape + [20]2.2. PR #1470: 689 fn:stack-trace: replace with $err:stack-trace + [21]2.3. PR #1562: 1561 Correct the schema for XSLT 4.0 + [22]2.4. PR #1560: 1548 Clarify default for xsl:output/@indent + [23]2.5. PR #1558: 1522 Fix syntax ambiguity in patterns + [24]2.6. PR #1546: 1538 Add XSLT support for json-lines + [25]2.7. PR #1544: Allow (some) self-references in global variables + [26]2.8. PR #1454: 1449 Relax rules on multiple xsl:includes * [27]3. Any other business * [28]4. Adjourned Draft Minutes Summary of new and continuing actions [0/9] * [ ] QT4CG-080-07: NW to update the build instructions in the README * [ ] QT4CG-082-02: DN to work with MK to come to agreement on the fn:ranks proposal * [ ] QT4CG-088-01: NW to consider how best to add a dedication to MSM. * [ ] QT4CG-088-04: [Someone] needs to update the processing model diagram needs vis-a-vis the static typing feature * [ ] QT4CG-089-01: CG to draft a PR that attempts to resolve the operators described in #755 to a smaller number of orthogonal choices. * [ ] QT4CG-097-02: MK to make the XSD schema component references into links to XSD * [ ] QT4CG-097-03: DN to proposal an axis for accessing the siblings of a node. * [ ] QT4CG-098-01: NW to update the Relax NG grammar for XSLT 4.0 * [ ] QT4CG-098-02: NW to look at the XSL stylesheet for XSD, [29]#374. 1. Administrivia 1.1. Roll call [10/12] DN, EP give regrets. * [X] David J Birnbaum (DB) * [X] Reece Dunn (RD) * [X] Sasha Firsov (SF) * [X] Christian Gr¸n (CG) * [X] Joel Kalvesmaki (JK) * [X] Michael Kay (MK) * [X] Juri Leino (JLO) * [X] John Lumley (JWL) * [ ] Dimitre Novatchev (DN) * [X] Wendell Piez (WP) * [ ] Ed Porter (EP) * [X] Norm Tovey-Walsh (NW). Scribe. Chair. 1.2. Accept the agenda Proposal: Accept [30]the agenda, amended to include PR #1569 in the "merge without discussion" group. Accepted. 1.2.1. Status so far... These charts have been adjusted so they reflect the preceding six months of work. issues-open-2024-11-12.png Figure 1: "Burn down" chart on open issues issues-by-spec-2024-11-12.png Figure 2: Open issues by specification issues-by-type-2024-11-12.png Figure 3: Open issues by type 1.3. Approve minutes of the previous meeting Proposal: Accept [31]the minutes of the previous meeting. Accepted. 1.4. Next meeting This next meeting is planned for 19 November. Any regrets? DB gives for 19 and 26 November. 1.5. Review of open action items [1/8] (Items marked [X] are believed to have been closed via email before this agenda was posted.) * [ ] QT4CG-080-07: NW to update the build instructions in the README * [ ] QT4CG-082-02: DN to work with MK to come to agreement on the fn:ranks proposal * [ ] QT4CG-088-01: NW to consider how best to add a dedication to MSM. * [ ] QT4CG-088-04: [Someone] needs to update the processing model diagram needs vis-a-vis the static typing feature * [ ] QT4CG-089-01: CG to draft a PR that attempts to resolve the operators described in #755 to a smaller number of orthogonal choices. * [X] QT4CG-097-01: MK to add a note explaining why base-type and friends are functions in the schema-type-record * [ ] QT4CG-097-02: MK to make the XSD schema component references into links to XSD * [ ] QT4CG-097-03: DN to proposal an axis for accessing the siblings of a node. 1.6. Review of open pull requests and issues 1.6.1. Blocked The following PRs are open but have merge conflicts or comments which suggest they aren't ready for action. * PR [32]#1505: 1503 Add err:map, err:stack-trace, err:additional to XSLT * PR [33]#1454: 1449 Relax rules on multiple xsl:includes * PR [34]#1296: 982 Rewrite of scan-left and scan-right * PR [35]#1283: 77b Update expressions * PR [36]#1062: 150bis revised proposal for fn:ranks * PR [37]#529: 528 fn:elements-to-maps 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 [38]#1564: 1563 Fix fn:schema-type examples * PR [39]#1562: 1561 Correct the schema for XSLT 4.0 * PR [40]#1559: 1515 Add cross-references to map:build * PR [41]#1558: 1522 Fix syntax ambiguity in patterns * PR [42]#1557: 1553 Expand explanation of predicates in axis steps * PR [43]#1549: 1534 Allow xsl:result-document/@select * PR [44]#1543: Drop fn:element-number * PR [45]#1535: 1478 Drop variadic functions * PR [46]#1569: 1567 Supply missing change metadata * PR [47]#1556: 1486 Editorial corrections & cleanups Proposal: Merge without discussion. Accepted. 2. Technical agenda 2.1. PR #1565: 1555 change default for parse json escape See PR [48]#1565 MK introduces the PR. * MK: This arose from a bug report in the QT3 test suite; there were tests that were incompatible with the specification. + Came to the conclusion that the spec is wrong and the tests are correct. + The change is that escaping JSON is false by default. + "False" is by far the most usable option; looking at the history of 3.1, we changed the polarity of the option but we forgot to change the default. * CG: Yeah, that's fine. Proposal: Accept this PR. Accepted. 2.2. PR #1470: 689 fn:stack-trace: replace with $err:stack-trace See PR [49]#1470 * CG: We've talked about this before. + MK suggested to return a function instead of an item or a string. That's the change. * JWL: Can you remind me why we wanted a function? * CG: The stack trace can be extensive, this defers computation until you need it. * MK: This drops the free-standing function as well. * CG: Yes. Proposal: Accept this PR. Accepted. 2.3. PR #1562: 1561 Correct the schema for XSLT 4.0 See PR [50]#1562 MK observes that the diff doesn't show well on this one... * MK: We publish the schema in two places, both free-standing and copied into an appendix. * NW: Could we just stop doing that? Is there value in the appendix? * RD: Are there cross-references into it? * MK: No. MK reviews the actual changes in the PR. * MK: The schema was actually invalid. And some of the stylesheets were invalid against the schema. There are already some caveats that say there are stylesheets that aren't valid even though they're correct. That caveat now extends to xsl:note. MK reviews the changes in the schema. ACTION: QT4CG-098-01: NW to update the Relax NG grammar for XSLT 4.0 * RD: Would it make sense to generate the schema from the spec. We could put fragments of XSD and RNG into the specification and then pull them all together at the end. * MK: Are you volunteering? * RD: I'll take a look. ACTION: QT4CG-098-02: NW to look at the XSL stylesheet for XSD, [51]#374. * SF: Rendering in the specification or in the IDE with a live feed is a problem. If it could be solved, it would be game changing to the coding experience. Proposal: Accept this PR. Accepted. 2.4. PR #1560: 1548 Clarify default for xsl:output/@indent See PR [52]#1560 * MK: The serialization doesn't define the defaults, that's up to the host language. + I found that XSLT didn't define a default for indent. This PR fixes that. + It also adds a couple of section numbers, which messes with the diff. + And in a few places json and adaptive serialization weren't mentioned. * MK: All of the prose about defaults for parameters has been moved into a new section. + ... The only change is to the indent parameter which now says the default is "yes" for HTML and XHTML and "no" everywhere else. Some discussion of how the diffs are constructed. Proposal: Accept this PR. Accepted. 2.5. PR #1558: 1522 Fix syntax ambiguity in patterns See PR [53]#1558 * MK: This is an ambiguity in the XSLT pattern syntax that JWL identified. + The solution was to remove FunctionCallP in RootedPath because it only gives an option you can get to directly (introducing an ambiguity). Proposal: Accept this PR. Accepted. 2.6. PR #1546: 1538 Add XSLT support for json-lines See PR [54]#1546 * MK: This adds json-lines to the XSLT spec, the bulk of the work is in the Serialization specification and we've already accepted it. + ... It adds it as an option in various places and makes a brief mention of what it does. * JLO: Is it possible to unify the XSLT and XQuery serialization parameters? * MK: I think moving things into the Serialization specification has refactored about as far as we can. + ... There are some differences that have nothing to do with XQuery. * JLO: Is there a way for a user to find out what the current, actual values are? The system that XQuery is running in will override some of those defaults. * MK: You can override defaults via an API. And the API can also discover what your current settings are. + ... There's no way to ask in XSLT or XQuery code what the current settings are. I'm not quite sure why you'd want to know. Proposal: Accept this PR. Accepted. 2.7. PR #1544: Allow (some) self-references in global variables See PR [55]#1544 * MK: This mimics in XSLT a change that was made to XQuery. + ... The spec had said that a global variable isn't visible in its own declaration. + ... It is now visible, but trivial self references are disallowed by circularity rules. + ... There's an example where self-reference does make sense, for example, a recursive inline function. * MK: This removes an unnecessary restriction. * JWL: Is this only the case with function-valued global variables? Can you do it with any other kind? * MK: You could do it with maps. * JWL: That's effectively a function... * JLO: If it really only applies to functions, should we say that? Proposal: Accept this PR. Accepted. 2.8. PR #1454: 1449 Relax rules on multiple xsl:includes See PR [56]#1454 * MK: We did take a look at it once before. + ... In the past, having circular includes was an error. + ... That meant you couldn't write stylesheets that simply included everything they depended on because you'd get circularities. + ... This change says that if you have xsl:includes at the same level, we ignore the duplicates. Only the first one counts. + ... Duplicates includes the entry point at the stylesheet level. * MK: There is an edge case where this gives you an incompatibility. + ... In 3.0 a circularity is an error but a "diamond" isn't. A diamond where both B and C include D would usually lead to an error because it would include two templates or functions with the same name. + ... In the rare case where an included module only contains template rules without names then you'd get two copies and next-match would go to the next. * JLO: Is there some kind of scoping mechanism? Can the output change when xsl:includes are inserted at different levels? Can you have different variables if they're at different levels? * MK: No. All the declarations are global to a package. They're import precedence only depends on the level. The order of tebmplate rules could be different which matters if you haven't specified priority. * JLO: Shouldn't we say that also the last one wins? * MK: In some ways, yes, but that doesn't work with static variables because it's the first one that counts. And you can only reference it in a static declaration that comes after it. So you wouldn't know if the include you'd already read was the last one. + ... The evaluation of static expressions is assumed to be serializable. That sort of preprocessing stage has to be sequential and you have to know when it's the first. * JLO: Are those includes at the same level turned into a flat list? * MK: You're processing your source hierarchically. For static variables and expressions, you work hierarchically. If you reach an xsl:include, you read it immediately, and any variables it contains are avialable anywhere after that include. It's sort of flattened. * WP: I think that the edge case that we're worried about is really out there on the edge. I think the current behavior might really be considered a bug. * MK: We'll find out in time! Some further discussion of includes and nesting and static variables. Proposal: Accept this PR. Accepted. 3. Any other business JWL shows a demo of hyperlinking the grammar. * JWL: As a consequence of building the iXML grammars, I now have hyperlinked grammars. + ... Going from the nonterminal to its definition is easy. + ... What I can do now is, for a given rule, show you all the rules that reference it! + ... I can probably reduce this to a little bit of JavaScript. * MK: I'd love to get rid of the stuff in the current spec where you have to tag the most important occurence of a rule with an ID. I'd love to automate that. * NW: I'd be happy to try to get something like this in the specification. CG wonders if we can talk about EXPath. Some discussion of the state of expath.org. * NW: Should we follow up in the issue about which ones we want to maintain. * JWL: They're not terribly complex. But archive was never satisfactorily finished. + ... And the http-client one is a lot more complex. * MK: The file and binary ones should be fairly straight-forward. * MK: Should support for the binary functions be intrinsic in our specifications? + ... File is harder because it depends on non-determinism. * JWL: There are only about 15 functions. * JLO: What I get as feedback from other implementors is that there are too many functions and everything is part of the spec. The spec alone is not enough, what about the repo and the test steps? + ... Would it have been better to have a CSV module, for example? * MK: Should the spec should be logically modular, and should it be editorially modular, are separable questions. * CG: If we want to have future versions of the file and binary modules, we need to extract them from the current solution and publish them here. + But it doesn't have to be part of 4.0. * RD: We talked in the past about things like packaging and that sort of thing. This seems like it fits into that. Is the package spec in XQuery or XPath? * JLO: That's XPath. * RD: So there's a question of how we specify this? Do we publish them as notes, as full specifications, etc. * WP: I think that merging them in is probably a good thing. But with respect to how that bears on complexity and implementability is maybe a separate issue. 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/2024/11-12.html#minutes 7. https://qt4cg.org/meeting/minutes/2024/11-12.html#new-actions 8. https://qt4cg.org/meeting/minutes/2024/11-12.html#administrivia 9. https://qt4cg.org/meeting/minutes/2024/11-12.html#roll-call 10. https://qt4cg.org/meeting/minutes/2024/11-12.html#agenda 11. https://qt4cg.org/meeting/minutes/2024/11-12.html#so-far 12. https://qt4cg.org/meeting/minutes/2024/11-12.html#approve-minutes 13. https://qt4cg.org/meeting/minutes/2024/11-12.html#next-meeting 14. https://qt4cg.org/meeting/minutes/2024/11-12.html#open-actions 15. https://qt4cg.org/meeting/minutes/2024/11-12.html#open-pull-requests 16. https://qt4cg.org/meeting/minutes/2024/11-12.html#blocked 17. https://qt4cg.org/meeting/minutes/2024/11-12.html#merge-without-discussion 18. https://qt4cg.org/meeting/minutes/2024/11-12.html#technical-agenda 19. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1565 20. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1470 21. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1562 22. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1560 23. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1558 24. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1546 25. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1544 26. https://qt4cg.org/meeting/minutes/2024/11-12.html#pr-1454 27. https://qt4cg.org/meeting/minutes/2024/11-12.html#any-other-business 28. https://qt4cg.org/meeting/minutes/2024/11-12.html#adjourned 29. https://github.com/qt4cg/qtspecs/issues/374 30. https://qt4cg.org/meeting/agenda/2024/11-12.html 31. https://qt4cg.org/meeting/minutes/2024/11-05.html 32. https://qt4cg.org/dashboard/#pr-1505 33. https://qt4cg.org/dashboard/#pr-1454 34. https://qt4cg.org/dashboard/#pr-1296 35. https://qt4cg.org/dashboard/#pr-1283 36. https://qt4cg.org/dashboard/#pr-1062 37. https://qt4cg.org/dashboard/#pr-529 38. https://qt4cg.org/dashboard/#pr-1564 39. https://qt4cg.org/dashboard/#pr-1562 40. https://qt4cg.org/dashboard/#pr-1559 41. https://qt4cg.org/dashboard/#pr-1558 42. https://qt4cg.org/dashboard/#pr-1557 43. https://qt4cg.org/dashboard/#pr-1549 44. https://qt4cg.org/dashboard/#pr-1543 45. https://qt4cg.org/dashboard/#pr-1535 46. https://qt4cg.org/dashboard/#pr-1569 47. https://qt4cg.org/dashboard/#pr-1556 48. https://qt4cg.org/dashboard/#pr-1565 49. https://qt4cg.org/dashboard/#pr-1470 50. https://qt4cg.org/dashboard/#pr-1562 51. https://github.com/qt4cg/qtspecs/issues/374 52. https://qt4cg.org/dashboard/#pr-1560 53. https://qt4cg.org/dashboard/#pr-1558 54. https://qt4cg.org/dashboard/#pr-1546 55. https://qt4cg.org/dashboard/#pr-1544 56. https://qt4cg.org/dashboard/#pr-1454 Be seeing you, norm -- Norm Tovey-Walsh Saxonica
Received on Tuesday, 12 November 2024 18:07:28 UTC