- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 08 Apr 2025 18:08:22 +0100
- To: public-xslt-40@w3.org
Hi folks,
Here are the draft minutes from today’s meeting:
https://qt4cg.org/meeting/minutes/2025/04-08.html
I’m pleased to say all the PRs merged cleanly!
QT4 CG Meeting 116 Minutes 2025-04-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/10]
* [8]1. Administrivia
+ [9]1.1. Roll call [12/13]
+ [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 [0/6]
+ [15]1.6. Review of open pull requests and issues
o [16]1.6.1. Blocked
o [17]1.6.2. Merge without discussion
o [18]1.6.3. Close without action
* [19]2. Technical agenda
+ [20]2.1. Review of pull requests
o [21]2.1.1. PR #1915: 1902b bin:unpack out of range error
o [22]2.1.2. PR #1914: 501 Error handling: try/finally
o [23]2.1.3. PR #1910: 1021 (part 1) Add $options arg to
doc() and doc-available()
o [24]2.1.4. PR #1908: 1520 Allow forwards references to
named item types
o [25]2.1.5. PR #1897: 1876 In fn:replace(), merge the
$replacement and $action parameters
o [26]2.1.6. PR #1895: 1881 Function identity for maps and
arrays
o [27]2.1.7. PR #1901: 1363 fallback becomes a value not a
function
o [28]2.1.8. PR #1819: 451 Multiple schemas in XSLT
* [29]3. Any other business
* [30]4. Adjourned
Draft Minutes
Summary of new and continuing actions [0/10]
* [ ] QT4CG-082-02: DN to work with NW to come to agreement on the
fn:ranks proposal
* [ ] QT4CG-107-05: JLO and DN to consider a proposal for system
defined records.
* [ ] QT4CG-112-01: JLO to propose a concrete example that uses "."
in a ~%method~s.
* [ ] QT4CG-113-02: NW to investigate a way to show extra attributes
in the syntax summary.
* [ ] QT4CG-115-01: MK to give an example of params passed
automatically through next-match using a 3.0 version control
* [ ] QT4CG-115-02: JWL to write a few tests for xsl:record
* [ ] QT4CG-116-01: Add a specific error code for unsupported options
on doc and doc-available
* [ ] QT4CG-116-02: MK to improve the description of the results of
validation
* [ ] QT4CG-116-03: NW to review the star/plus/delta symbols in the
ToC. (See [31]1838)
* [ ] QT4CG-116-04: MK to correct the missing "or $Y" in
fn:function-identity().
1. Administrivia
1.1. Roll call [12/13]
Regrets: BTW
* [X] David J Birnbaum (DB)
* [X] Reece Dunn (RD)
* [X] Sasha Firsov (SF) [x:08-]
* [X] Christian Gr¸n (CG)
* [X] Joel Kalvesmaki (JK) [x:04-]
* [X] Michael Kay (MK)
* [X] Juri Leino (JLO)
* [X] John Lumley (JWL) Scribe.
* [X] Dimitre Novatchev (DN)
* [X] Wendell Piez (WP)
* [X] Ed Porter (EP)
* [ ] Bethan Tovey-Walsh (BTW)
* [X] Norm Tovey-Walsh (NW).
1.2. Accept the agenda
Proposal: Accept [32]the agenda.
Accepted.
1.2.1. Status so far...
These charts have been adjusted so they reflect the preceding six
months of work.
issues-open-2025-04-08.png
Figure 1: "Burn down" chart on open issues
issues-by-spec-2025-04-08.png
Figure 2: Open issues by specification
issues-by-type-2025-04-08.png
Figure 3: Open issues by type
1.3. Approve minutes of the previous meeting
Proposal: Accept [33]the minutes of the previous meeting.
JWL: Mike was the chair; for the record. (Minutes have been updated
accordingly.)
Accepted.
1.4. Next meeting
The next meeting is scheduled for 15 April 2025.
No regrets heard.
1.5. Review of open action items [0/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-107-05: JLO and DN to consider a proposal for system
defined records.
* [ ] QT4CG-112-01: JLO to propose a concrete example that uses "."
in a ~%method~s.
* [ ] QT4CG-113-02: NW to investigate a way to show extra attributes
in the syntax summary.
* [ ] QT4CG-115-01: MK to give an example of params passed
automatically through next-match using a 3.0 version control
* [ ] QT4CG-115-02: JWL to write a few tests for xsl:record
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 [34]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 [35]#1888: 366 xsl:package-location
* PR [36]#1283: 77b Update expressions
* PR [37]#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 [38]#1913: 1911 Clarifications for regular expressions
* PR [39]#1904: 1832 Operator Associativity
* PR [40]#1898: 1624b Expand rules for document node subtyping
Proposal: merge these PRs without further discussion
JLO: There's a typo in #1904; I added a comment.
Accepted.
1.6.3. 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 [41]#1900: Records: instance checks
* Issue [42]#1846: %method functions, dynamic function calls
* Issue [43]#982: scan-left, scan-right: position argument, array
functions
* Issue [44]#564: Sorted maps
Proposal: close these issues without further action.
Accepted.
2. Technical agenda
2.1. Review of pull requests
2.1.1. PR #1915: 1902b bin:unpack out of range error
See PR [45]#1915
MK introduces the PR.
* MK: This is purely adding a couple of error conditions and a few
editorial improvements. The new error is for integers that are too
large.
* JLO: Looking at the source for the PR, it looked like an error
condition was removed.
* MK: I think I corrected that; I redid the PR at one point.
* RD: The type constraints could enforce a normal error for zero or
negative lengths.
* MK: We could have changed that but we didn't.
* JLO: I think it would be a good idea to change the signatures.
+ Octet-out-of-range and [scribe missed the other error] have
been removed.
* MK: That's correct; we made an enumeration so those can't occur.
Proposal: Accept this PR.
Accepted.
2.1.2. PR #1914: 501 Error handling: try/finally
See PR [46]#1914
CG introduces the PR with a discussion of finally.
* CG: The PR adds a finally clause.
+ ... A finally clause that returns a value raises an error.
+ ... If the finally raises an error, that's the error that's
returned.
* MK: Did you consider concatenating the results of the try and
finally expressions?
* CG: Yes.
+ ... Many languages, especially imperative languages ignore the
result
Proposal: Accept this PR.
Accepted.
2.1.3. PR #1910: 1021 (part 1) Add $options arg to doc() and doc-available()
See PR [47]#1910
* MK: This basically takes the same options we added to fn:parse-xml
and adds them to the document functions.
+ ... The options are the same as fn:parse-xml plus stable.
* MK: The definition of stable is refined somewhat.
* MK: The same options are carried through into fn:doc-available
+ ... If stable is true(), then your availablility is
guaranteed.
* JWL: I assume things like support for XInclude is implementation
dependent?
* MK: There's a clause about that under error conditions.
* JWL: Is there any way to determine if your implementation can do
XInclude or the like?
* MK: No.
* JWL: When you take the XInclude option, does that imply that if you
set it when you do fn:doc-available, that everything would have to
be resolved at availability time?
* MK: Yes, you have to do it and cache the result.
* CG: My question is partly answered, maybe we should raise a custom
error if the supplied options cannot be applied. An implementation
that returns a document from a database could raise the error when
ever any option is specified.
* MK: The error codes are already quite fuzzy. I was reluctant to add
to them.
+ ... For example, if XInclude fails because the URI you
supplied is not hierarchical, which error should you return?
* JLO: I'm somewhat relieved but quite sad that I wasn't able to
provide the PR myself.
+ ... I'd also like to have a specific error code for the case
where an implementation can't satisfy the options requested.
* MK: If there is a schema processor but it can't handle a particular
schema, that might be a bit different.
ACTION QT4CG-116-01: Add a specific error code for unsupported options
on doc and doc-available
Some discussion of the meaning of stability on fn:doc-available.
* JK: What are the effects of the act of validation?
* MK: The effect of schema validation is that you get a document back
with type annotations.
* NW: It can also expand attribute default values.
* JK: Can this be made more explicit?
ACTION QT4CG-116-02: MK to improve the description of the results of
validation
k+ WP: An annotated PSVI?
* MK: Well, it's not a full PSVI.
* WP: Is that standardized?
Some discussion of the degree of standardization in the validate
expression.
* MK: There's nothing new here, it's the equivalent of applying the
validate expression to the document.
* CG: A trivial observation, some of the defaults use parentheses for
true and false and some don't.
* MK: I'm never sure how to deal with that.
* DB: Is there a reason why RELAX NG validation isn't an option?
* MK: Primarily that it's not a technology standardized by W3C.
Some discussion of raising it as possible enhancement.
Proposal: Accept this PR.
Accepted.
ACTION QT4CG-116-03: NW to review the star/plus/delta symbols in the
ToC. (See [48]1838)
You to Everyone
2.1.4. PR #1908: 1520 Allow forwards references to named item types
See PR [49]#1908
* MK: This is another Gunther Radamacher bug. I decided to just
remove the restriction.
+ ... Forwards references are now allowed.
* RD: So it works like variable declarations.
Consensus, yes, you can have forward references to variables and
functions.
Proposal: Accept this PR.
Accepted.
2.1.5. PR #1897: 1876 In fn:replace(), merge the $replacement and $action
parameters
See PR [50]#1897
* MK: This was a suggestion of CG's that I've taken on board and
implemented.
+ ... There's no change in functionality, it just merges two
arguments into one.
+ ... I have also clarified what it means for a replacement
string that contains capture groups.
Proposal: Accept this PR.
Accepted.
2.1.6. PR #1895: 1881 Function identity for maps and arrays
See PR [51]#1895
MK introduces the PR.
* MK: We added a PR for function identity, but we didn't clarify what
that meant for maps and arrays.
+ ... This PR says the do have identity, but it doesn't have any
effect exception the identity function.
* MK: In the data model, I expanded the map and array item
descriptions.
* MK: In F&O, we explicitly say that labels are ignored when
considering function identity.
ACTION QT4CG-116-04: MK to correct the missing "or $Y" in
fn:function-identity().
* MK: This makes identity well defined, if not especially useful.
* JLO: What are the implications that map identity is implementation
dependent?
+ ... Is there a possibility where functions will behave
differently?
* MK: All it's telling you that if you use fn:function-identity to
get the identity of a map or array, what you get is implementation
dependent.
+ ... This leaves our options open in the future.
Proposal: Accept this PR.
Accepted.
2.1.7. PR #1901: 1363 fallback becomes a value not a function
See PR [52]#1901
MK introduces the PR. We've had a lot of debate about what to do with
map:get and array:get if you request a value that doens't exist. And my
proposal not to raise an error for an out-of-range index in array:get
didn't meet with universal favor.
* MK: Having a default value rather than a function is a small
reduction in capability but a simplification.
(The PR turns out to be on the wrong base; we'll review again next
week.)
* DN: I'm trying to understand what this means for arrays. Whatever
the default value is that's specified, this would be exactly the
same as what we discussed previously that there is no longer an
exception when an index is out-of-bounds.
* MK: No, the default is still to throw an error. The function has
two different signatures so that the absence of a fallback can be
detected.
2.1.8. PR #1819: 451 Multiple schemas in XSLT
See PR [53]#1819
* MK: I thought initially this was a fairly big proposal, but it
turned out to be pretty incremental.
* MK: Different parts of a stylesheet may use different schemas.
+ ... An xsl:import-schema declaration can include a role
attribute (e.g., "input" vs. "output")
+ ... You can then validate against the schema with the
specified role.
* MK: Different result documents can be validated against different
schemas.
+ ... It's done with a standard attribute that can appear on any
element.
+ ... It can be applied at the package level.
* MK: The xsl:import-schema instruction gains the schema-role
attribute.
* MK: Section 3.15.1 describes how the schema-role attribute works.
* MK: There's a restriction that the schemas must be compatible.
+ ... They can't have conflicting declarations.
+ ... You can't validate the input against version 1 of a schema
and the output against version 2, if those schemas are not
compatible.
+ ... The restriction is necessary because the otherwise the
schema type names wouldn't be unique.
* WP: Why are we calling it role, and not name for example?
* MK: Naming is always hard. And "name" just seems especially
overused.
* WP: The two schemas have to have two universes of types that are
distinct.
* MK: They can overlap, as long as the import some common schema.
Proposal: Accept this PR.
Accepted.
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/04-08.html#minutes
7. https://qt4cg.org/meeting/minutes/2025/04-08.html#new-actions
8. https://qt4cg.org/meeting/minutes/2025/04-08.html#administrivia
9. https://qt4cg.org/meeting/minutes/2025/04-08.html#roll-call
10. https://qt4cg.org/meeting/minutes/2025/04-08.html#agenda
11. https://qt4cg.org/meeting/minutes/2025/04-08.html#so-far
12. https://qt4cg.org/meeting/minutes/2025/04-08.html#approve-minutes
13. https://qt4cg.org/meeting/minutes/2025/04-08.html#next-meeting
14. https://qt4cg.org/meeting/minutes/2025/04-08.html#open-actions
15. https://qt4cg.org/meeting/minutes/2025/04-08.html#open-pull-requests
16. https://qt4cg.org/meeting/minutes/2025/04-08.html#blocked
17. https://qt4cg.org/meeting/minutes/2025/04-08.html#merge-without-discussion
18. https://qt4cg.org/meeting/minutes/2025/04-08.html#close-without-action
19. https://qt4cg.org/meeting/minutes/2025/04-08.html#technical-agenda
20. https://qt4cg.org/meeting/minutes/2025/04-08.html#technical-prs
21. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1915
22. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1914
23. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1910
24. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1908
25. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1897
26. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1895
27. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1901
28. https://qt4cg.org/meeting/minutes/2025/04-08.html#pr-1819
29. https://qt4cg.org/meeting/minutes/2025/04-08.html#any-other-business
30. https://qt4cg.org/meeting/minutes/2025/04-08.html#adjourned
31. https://github.com/qt4cg/qtspecs/pull/1838#issuecomment-2682372207
32. https://qt4cg.org/meeting/agenda/2025/04-08.html
33. https://qt4cg.org/meeting/minutes/2025/03-25.html
34. https://qt4cg.org/meeting/minutes/2025/04-08.html#technical-agenda
35. https://qt4cg.org/dashboard/#pr-1888
36. https://qt4cg.org/dashboard/#pr-1283
37. https://qt4cg.org/dashboard/#pr-1062
38. https://qt4cg.org/dashboard/#pr-1913
39. https://qt4cg.org/dashboard/#pr-1904
40. https://qt4cg.org/dashboard/#pr-1898
41. https://github.com/qt4cg/qtspecs/issues/1900
42. https://github.com/qt4cg/qtspecs/issues/1846
43. https://github.com/qt4cg/qtspecs/issues/982
44. https://github.com/qt4cg/qtspecs/issues/564
45. https://qt4cg.org/dashboard/#pr-1915
46. https://qt4cg.org/dashboard/#pr-1914
47. https://qt4cg.org/dashboard/#pr-1910
48. https://github.com/qt4cg/qtspecs/pull/1838#issuecomment-2682372207
49. https://qt4cg.org/dashboard/#pr-1908
50. https://qt4cg.org/dashboard/#pr-1897
51. https://qt4cg.org/dashboard/#pr-1895
52. https://qt4cg.org/dashboard/#pr-1901
53. https://qt4cg.org/dashboard/#pr-1819
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
Received on Tuesday, 8 April 2025 17:08:29 UTC