QT4CG meeting 109 draft minutes, 11 February 2025

Hello,

Here are the minutes from today’s meeting:

  https://qt4cg.org/meeting/minutes/2025/02-11.html

The latest builds are failing on a schema error. That’ll get sorted out asap.

QT4 CG Meeting 109 Minutes 2025-02-11

   [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 [8/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 [6/10]
          + [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
               o [19]1.6.4. Substantive PRs
     * [20]2. Technical agenda
          + [21]2.1. PR #1769: Add links from processing model diagrams
          + [22]2.2. PR #1772: 1770 Default priority of rules with a union
            pattern
          + [23]2.3. PR #1773: 402 Change the semantics of intersect and
            except in patterns
          + [24]2.4. PR #1782: 1776 Add lookup patterns using ? and ??
          + [25]2.5. PR #1784: 1781 Drop obsolete material from XSLT spec
          + [26]2.6. Issue triage
               o [27]2.6.1. Issue #1537: XSLT: local functions within an
                 enclosing xsl:mode
               o [28]2.6.2. Issue #1584: Review the XML Schema and RELAX
                 NG schemas for XSLT 4.0 for compatibility
               o [29]2.6.3. Issue #1631: xsl:apply-templates (without
                 select) should allow inline content
               o [30]2.6.4. Issue #1698: Allow select attribute for
                 xsl:call-template instruction
               o [31]2.6.5. Issue #1724: Allow @copy-namespaces on
                 <xsl:mode>?
               o [32]2.6.6. Issue #1742: Maps constructed using streamed
                 xsl:fork instruction should not be ordered
               o [33]2.6.7. Issue #1777: Shallow copy in XSLT with maps
                 and arrays
     * [34]3. Any other business
     * [35]4. Adjourned

Draft Minutes

Summary of new and continuing actions [0/10]

     * [ ] QT4CG-082-02: DN to work with MK to come to agreement on the
       fn:ranks proposal
     * [ ] QT4CG-097-02: MK to make the XSD schema component references
       into links to XSD
     * [ ] QT4CG-107-01: MK to amend PR 1722 so the expansion of focus
       functions includes the return type item()*
     * [ ] QT4CG-107-05: JLO and DN to consider a proposal for system
       defined records.
     * [ ] QT4CG-109-01: NW add JSON to the processing model diagrams
       along side XML
     * [ ] QT4CG-109-02: NW to look again at adding tooltips to the
       diagrams

1. Administrivia

1.1. Roll call [8/13]

   Regrets: CG, WP, JLO, BTW.
     * [X] David J Birnbaum (DB)
     * [X] Reece Dunn (RD)
     * [ ] Sasha Firsov (SF)
     * [ ] Christian Gr¸n (CG)
     * [X] Joel Kalvesmaki (JK)
     * [X] Michael Kay (MK)
     * [ ] Juri Leino (JLO)
     * [X] John Lumley (JWL)
     * [X] Dimitre Novatchev (DN)
     * [ ] 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 [36]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-02-11.png

   Figure 1: "Burn down" chart on open issues

   issues-by-spec-2025-02-11.png

   Figure 2: Open issues by specification

   issues-by-type-2025-02-11.png

   Figure 3: Open issues by type

1.3. Approve minutes of the previous meeting

   Proposal: Accept [37]the minutes of the previous meeting.

   Accepted.

1.4. Next meeting

   The next meeting is planned for 18 February 2025.

   CG gives regrets 18 February.

1.5. Review of open action items [6/10]

   (Items marked [X] are believed to have been closed via email before
   this agenda was posted.)
     * [ ] QT4CG-082-02: DN to work with MK to come to agreement on the
       fn:ranks proposal
     * [ ] QT4CG-097-02: MK to make the XSD schema component references
       into links to XSD
     * [X] QT4CG-103-01: MK to add an example of showing all the
       properties for an untyped node.
          + Withdrawn: "Too difficult"
     * [ ] QT4CG-107-01: MK to amend PR 1722 so the expansion of focus
       functions includes the return type item()*
     * [X] QT4CG-107-02: MK to propose adding the "duplicates" option
       (from map:merge) to map:build and map:of-pairs
     * [X] QT4CG-107-03: MK to propose amending all the functions that
       return ordered maps so that when duplicates are found, the key of
       the combined entry is taken from the first of the duplicates.
     * [X] QT4CG-107-04: MK to review CG's comment to align fn:map-merge
       by removing the reference to random number generator and fixing a
       typo.
     * [ ] QT4CG-107-05: JLO and DN to consider a proposal for system
       defined records.
     * [X] QT4CG-108-01: JWL look at the extra fn: prefixes introduced by
       the stylesheets in the binary spec
     * [X] QT4CG-108-02: NW to add links and tooltips to the new
       processing model diagrams

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 [38]#1587: 557 Add fn:binary-resource
     * PR [39]#1296: 982 Rewrite of scan-left and scan-right
     * PR [40]#1283: 77b Update expressions
     * PR [41]#1062: 150bis revised proposal for fn:ranks
     * PR [42]#1227: 150 PR resubmission 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 [43]#1767: 1729/1737 Fix grammar for "declare record"
     * PR [44]#1765: 1751 Clarify BOM handling
     * PR [45]#1761: 1752 Correct return type of fn:partition()
     * PR [46]#1783: 1779 Make CharRef XQuery-only (added during the
       meeting)

   Proposal: merge these PRs without discussion.

   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 [47]#877: Inconsistency in XQFO comparator
       functions/operators with recursive rules
     * Issue [48]#755: with expression; chaining and concatenation

   Proposal: close these issues without further action.

   Accepted.

1.6.4. Substantive PRs

   The following substantive PRs were open when this agenda was prepared.
     * PR [49]#1769: Add links from processing model diagrams
     * PR [50]#1772: 1770 Default priority of rules with a union pattern
     * PR [51]#1773: 402 Change the semantics of intersect and except in
       patterns
     * PR [52]#1782: 1776 Add lookup patterns using ? and ??
     * PR [53]#1784: 1781 Drop obsolete material from XSLT spec
     * PR [54]#1766: 1715 Drop array bound checking
     * PR [55]#1783: 1779 Make CharRef XQuery-only
     * PR [56]#1778: 1456 Lookup expressions filtered by type
     * PR [57]#1763: 1716 Generalize syntax of arrow expressions
     * PR [58]#1740: 1725b Further elaboration of duplicates handling in
       maps
     * PR [59]#1735: 1341 Drop $position callback from many functions

2. Technical agenda

2.1. PR #1769: Add links from processing model diagrams

   See PR [60]#1769.

   ACTION QT4CG-109-01: NW add JSON to the processing model diagrams along
   side XML

   ACTION QT4CG-109-02: NW to look again at adding tooltips to the
   diagrams
     * NW: This PR is unlikely to run afoul of merge conflicts, so let's
       just leave it open.

2.2. PR #1772: 1770 Default priority of rules with a union pattern

   See PR [61]#1772.

   MK introduces the PR.
     * MK: The priority rules for union patterns have become more
       complicated over time.
          + ... Treating them as separate template rules with a different
            priority has odd consequences for xsl:next-match
          + ... And in 4.0 we've invented new things that are equivalent
            to union patterns.
          + ... Trying to fix various edge cases lead me to take an axe to
            it.
     * JK: I like the proposal. I tried to replicate the double-triggering
       of xsl:next-match but failed.
     * MK: There are test cases that do it, but it's very obscure.
     * JWL: I agree with this one. If you're playing around with default
       priorities in unions where it's starting to get complicated, you
       have to be on the ball. This will simplify things.

   Proposal: Merge this PR.

   Accepted.

2.3. PR #1773: 402 Change the semantics of intersect and except in patterns

   See PR [62]#1773.
     * MK: This is in the same area, but is completely separate. These are
       the rules for matching.
          + ... The problem here is that the current specification of
            intersect and except does something so woefully unexpected
            that we should treat it as bug.
          + ... The incompatibility is explained in a note.

   Proposal: Merge this PR.

   Accepted.

2.4. PR #1782: 1776 Add lookup patterns using ? and ??

   See PR [63]#1782.

   Not ready for discussion.

2.5. PR #1784: 1781 Drop obsolete material from XSLT spec

   See PR [64]#1784.
     * MK: Hopefully, this is uncontroversial.
          + ... A lot of section numbers have changed, so the diff is hard
            to follow.
          + ... Section 23 (processing JSON data) has gone and so has
            Appendix B (XML representation of JSON)
          + ... These were basically historical relics.

   Proposal: Merge this PR.

   Accepted.

2.6. Issue triage

2.6.1. Issue [65]#1537: XSLT: local functions within an enclosing xsl:mode

     * MK: I'd make it optional; I've encountered it, and several users
       have asked.
     * JWL: I think the issue is go for effectively the enclosed mode
       being a scope; in which case functions, variables could be in
       there. How far do we go?
          + Somtimes you want scoped local variables and you need tunnels
            all the way down.

2.6.2. Issue [66]#1584: Review the XML Schema and RELAX NG schemas for XSLT
4.0 for compatibility

     * NW: I'll do it closer to the end of the process.

2.6.3. Issue [67]#1631: xsl:apply-templates (without select) should allow
inline content

     * JWL: I think we should drop it; there are easy enough alternatives.
     * MK: I agree.
     * DN: I think we shouldn't discuss an issue if the original author
       isn't present.
     * NW: I think it's more important to make progress.

2.6.4. Issue [68]#1698: Allow select attribute for xsl:call-template
instruction

     * MK: I've vacillated on this. When I see an xsl:for-each just to
       change the context for a template, that's horrible. But then
       there's debate about where the context setting goes. Outside, it's
       just a different way of spelling "for each". Inside has more appeal
       but is less generic.
     * JK: I vote "required-optional". We can already do this, but maybe
       someone will write a proposal.
     * RD: I concur it should be optional. I wonder if it's more
       expressive to have the with-context as an equivalent of with-param.
       Putting the context within the call-template.
     * MK: That's one of the suggestions.
     * MK: Another question here is to what extent we want to integrate
       the idea of a context value in to XSLT. It was introduced for
       XQuery because people doing databases have always wanted an
       expression beginning with "/" to search the whole database not just
       one document.
          + ... If we're adding the ability to set the context here, do we
            want to allow it to be a general value not just an item.
     * JWL: When talking about where the select would go, do we still have
       the proposal for a form of call-template that's an extension of an
       expression?
     * MK: Yes, there's probably a relation to it.

2.6.5. Issue [69]#1724: Allow @copy-namespaces on <xsl:mode>?

     * JK: For the purposes for triage, I'd vote optional.
     * MK: I think my main reservation is that when people want to remove
       namespaces, they don't quite know what they're asking for.
          + ... The related issues have to do with copying with a change
            of namespace.
     * DB: That's related, but I don't think it subsumes this issues.

2.6.6. Issue [70]#1742: Maps constructed using streamed xsl:fork instruction
should not be ordered

     * MK: In a sense, it's subsumed by a general issue that we have to
       review streamability. We've neglected the whole area.
          + ... We can't close this without some resolution.

2.6.7. Issue [71]#1777: Shallow copy in XSLT with maps and arrays

     * MK: This is the area I'm currently working on. It's required that
       we do something in this area.
          + ... I'm currently trying to write a recursive decent processor
            on JSON that I hope will inform proposals in this area.

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/02-11.html#minutes
   7. https://qt4cg.org/meeting/minutes/2025/02-11.html#new-actions
   8. https://qt4cg.org/meeting/minutes/2025/02-11.html#administrivia
   9. https://qt4cg.org/meeting/minutes/2025/02-11.html#roll-call
  10. https://qt4cg.org/meeting/minutes/2025/02-11.html#agenda
  11. https://qt4cg.org/meeting/minutes/2025/02-11.html#so-far
  12. https://qt4cg.org/meeting/minutes/2025/02-11.html#approve-minutes
  13. https://qt4cg.org/meeting/minutes/2025/02-11.html#next-meeting
  14. https://qt4cg.org/meeting/minutes/2025/02-11.html#open-actions
  15. https://qt4cg.org/meeting/minutes/2025/02-11.html#open-pull-requests
  16. https://qt4cg.org/meeting/minutes/2025/02-11.html#blocked
  17. https://qt4cg.org/meeting/minutes/2025/02-11.html#merge-without-discussion
  18. https://qt4cg.org/meeting/minutes/2025/02-11.html#close-without-action
  19. https://qt4cg.org/meeting/minutes/2025/02-11.html#substantive
  20. https://qt4cg.org/meeting/minutes/2025/02-11.html#technical-agenda
  21. https://qt4cg.org/meeting/minutes/2025/02-11.html#pr-1769
  22. https://qt4cg.org/meeting/minutes/2025/02-11.html#pr-1772
  23. https://qt4cg.org/meeting/minutes/2025/02-11.html#pr-1773
  24. https://qt4cg.org/meeting/minutes/2025/02-11.html#pr-1782
  25. https://qt4cg.org/meeting/minutes/2025/02-11.html#pr-1784
  26. https://qt4cg.org/meeting/minutes/2025/02-11.html#issue-triage
  27. https://qt4cg.org/meeting/minutes/2025/02-11.html#h-F7FABABE-B3F3-4D26-B7B8-96A0BE7086FA
  28. https://qt4cg.org/meeting/minutes/2025/02-11.html#h-431874BE-254F-4499-ACF5-863D62329A86
  29. https://qt4cg.org/meeting/minutes/2025/02-11.html#h-2F817CFB-2C99-452C-9742-8C85BBD5CD19
  30. https://qt4cg.org/meeting/minutes/2025/02-11.html#h-E2EF5877-14B9-4E72-9736-3F15DD4CD2F2
  31. https://qt4cg.org/meeting/minutes/2025/02-11.html#h-D2ED69CD-C8C7-4752-AD19-8FE7CB10E86C
  32. https://qt4cg.org/meeting/minutes/2025/02-11.html#h-501EC430-48CB-4CF3-BAC4-E28E32D8CD87
  33. https://qt4cg.org/meeting/minutes/2025/02-11.html#h-4606BAC9-9EEC-449F-BBB1-A81B951AAFCF
  34. https://qt4cg.org/meeting/minutes/2025/02-11.html#any-other-business
  35. https://qt4cg.org/meeting/minutes/2025/02-11.html#adjourned
  36. https://qt4cg.org/meeting/agenda/2025/02-11.html
  37. https://qt4cg.org/meeting/minutes/2025/02-04.html
  38. https://qt4cg.org/dashboard/#pr-1587
  39. https://qt4cg.org/dashboard/#pr-1296
  40. https://qt4cg.org/dashboard/#pr-1283
  41. https://qt4cg.org/dashboard/#pr-1062
  42. https://qt4cg.org/dashboard/#pr-1227
  43. https://qt4cg.org/dashboard/#pr-1767
  44. https://qt4cg.org/dashboard/#pr-1765
  45. https://qt4cg.org/dashboard/#pr-1761
  46. https://qt4cg.org/dashboard/#pr-1783
  47. https://github.com/qt4cg/qtspecs/issues/877
  48. https://github.com/qt4cg/qtspecs/issues/755
  49. https://qt4cg.org/dashboard/#pr-1769
  50. https://qt4cg.org/dashboard/#pr-1772
  51. https://qt4cg.org/dashboard/#pr-1773
  52. https://qt4cg.org/dashboard/#pr-1782
  53. https://qt4cg.org/dashboard/#pr-1784
  54. https://qt4cg.org/dashboard/#pr-1766
  55. https://qt4cg.org/dashboard/#pr-1783
  56. https://qt4cg.org/dashboard/#pr-1778
  57. https://qt4cg.org/dashboard/#pr-1763
  58. https://qt4cg.org/dashboard/#pr-1740
  59. https://qt4cg.org/dashboard/#pr-1735
  60. https://qt4cg.org/dashboard/#pr-1769
  61. https://qt4cg.org/dashboard/#pr-1772
  62. https://qt4cg.org/dashboard/#pr-1773
  63. https://qt4cg.org/dashboard/#pr-1782
  64. https://qt4cg.org/dashboard/#pr-1784
  65. https://github.com/qt4cg/qtspecs/issues/1537
  66. https://github.com/qt4cg/qtspecs/issues/1584
  67. https://github.com/qt4cg/qtspecs/issues/1631
  68. https://github.com/qt4cg/qtspecs/issues/1698
  69. https://github.com/qt4cg/qtspecs/issues/1724
  70. https://github.com/qt4cg/qtspecs/issues/1742
  71. https://github.com/qt4cg/qtspecs/issues/1777

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Tuesday, 11 February 2025 17:24:22 UTC