- 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