Re: QT4 CG Agenda 023, 21 February 2023

Hi folks,

Here are the draft minutes from meeting 023, 21 February 2023:

  https://qt4cg.org/meeting/minutes/2023/02-21.html

QT4 CG Meeting 023 Minutes 2023-02-21

Table of Contents

     * [1]Draft Minutes
     * [2]Summary of new and continuing actions [0/10]
     * [3]1. Administrivia
          + [4]1.1. Roll call [7/14]
          + [5]1.2. Accept the agenda
          + [6]1.3. Approve minutes of the previous meeting
          + [7]1.4. Next meeting
          + [8]1.5. Review of open action items [2/6]
     * [9]2. Technical Agenda
          + [10]2.1. Open PRs related to XSLT
               o [11]2.1.1. PR #362, Drop obsolete note in XSLT regarding
                 for-each-group/@array
               o [12]2.1.2. PR #354, Combine multiple signatures of XSLT
                 functions to use defaults
               o [13]2.1.3. PR #353, issue #109 xsl note
          + [14]2.2. Review of appendixes J.1.1 and J.1.2.
     * [15]3. Any other business

Draft Minutes

Summary of new and continuing actions [0/10]

     * [ ] QT4CG-002-10: BTW to coordinate some ideas about improving
       diversity in the group
     * [ ] QT4CG-016-08: RD to clarify how namespace comparisons are
       performed.
     * [ ] QT4CG-021-03: RD to change must to will in DOM notes about
       lowercase
     * [ ] QT4CG-021-04: RD to revise and move the note about unrecognized
       entities
     * [ ] QT4CG-023-01: NW to review the stylesheets for functions across
       XPath and XSLT
     * [ ] QT4CG-023-02: MK to write a PR to drop xsl:function-library
       from the spec.
     * [ ] QT4CG-023-03: MK to start a new thread for discussion function
       namespace flexibility
     * [ ] QT4CG-023-04: MK to review and develop a proposal for
       separating element and type default namespaces
     * [ ] QT4CG-023-05: NW to put record types on an agenda.
     * [ ] QT4CG-023-06: MK to revisit and make a PR for a sequence-type
       attribute on xsl:mode

1. Administrivia

1.1. Roll call [7/14]

   Regrets: BTW, CG, EP
     * [ ] Anthony (Tony) Bufort (AB)
     * [X] Reece Dunn (RD)
     * [X] Sasha Firsov (SF)
     * [ ] Christian Gr¸n (CG)
     * [X] Joel Kalvesmaki (JK) [:13-]
     * [X] Michael Kay (MK)
     * [X] John Lumley (JL)
     * [X] Dimitre Novatchev (DN)
     * [ ] Ed Porter (EP)
     * [ ] Liam Quin (LQ)
     * [ ] Adam Retter
     * [ ] C. M. Sperberg-McQueen (MSM) [:06-]
     * [ ] Bethan Tovey-Walsh (BTW)
     * [X] Norm Tovey-Walsh (NW). Scribe. Chair.

1.2. Accept the agenda

   MK proposes specifically to review PRs 362, 353, and 354.

   Proposal: Accept [16]the agenda as amended.

   Accepted.

1.3. Approve minutes of the previous meeting

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

   Accepted.

1.4. Next meeting

   The next meeting [18]is scheduled for Tuesday, 28 February 2023.

   No regrets heard.

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

     * [ ] QT4CG-002-10: BTW to coordinate some ideas about improving
       diversity in the group
     * [ ] QT4CG-016-08: RD to clarify how namespace comparisons are
       performed.
     * [X] QT4CG-021-01: NW to raise a PR addressing the points in issue
       #307
          + [19]https://qt4cg.org/dashboard/#pr-347
     * [X] QT4CG-021-02: NW to check for deprecated URI features and add
       options for them in fn:build-uri and fn:parse-uri
          + [20]https://qt4cg.org/dashboard/#pr-347
     * [ ] QT4CG-021-03: RD to change must to will in DOM notes about
       lowercase
     * [ ] QT4CG-021-04: RD to revise and move the note about unrecognized
       entities

2. Technical Agenda

2.1. Open PRs related to XSLT

2.1.1. PR #362, Drop obsolete note in XSLT regarding for-each-group/@array

   See [21]pull request #362.

   MK leads discussion.
     * MK: A trivial note that's no longer applicable.

   Proposal: accept this PR.

   Accepted.

2.1.2. PR #354, Combine multiple signatures of XSLT functions to use defaults

   See [22]pull request #354.

   MK leads discussion.
     * MK: We did a pass over the standard XPath functions to combine
       signatures. I did the same to the XSLT functions.

   ACTION QT4CG-023-01: NW to review the stylesheets for functions across
   XPath and XSLT

   Proposal: accept this PR.

   Accepted.

2.1.3. PR #353, issue #109 xsl note

   See [23]pull request #353 and [24]issue #109.

   MK leads discussion.
     * MK: My preferred solution is xsl:note, stripped out at the same
       time as comments and PIs.
          + ... There's also a change here for a main-module attribute to
            document the location of the main module,
     * JL: If the module is reusable, that could be wrong
     * MK: Yes.
     * MK: The whitespace stripping code has been restructured a bit.
          + ... It was in the wrong place.
     * JL: When preprocessing, is there still a mechanism to get to the
       original stylesheet?
     * MK: Using the document function with a same-document reference has
       always been a bit weird. I think there's room for implementors to
       do both.
     * DN: I think this is good.
     * JL: Is there an argument for an attribute version of this one?
          + ... I tend to put an attribute on a param, for example, to
            document an element.
     * NW: I'd put an xsl:note inside the parameter
     * SF: Lots of languages have documentation capabilities. We should
       create a namespace for documentation and add it to the language.
     * MK: We could do that.
     * DN: Maybe we can go too deeply, but we should think about what we
       could document.
     * NW: These are XML documents. If you want to build a comprehensive
       documentation system on tp of them you can.
     * MK: If we wanted to go further, we'd start by looking at third
       party vocabularies.
     * JK: Oxygen has one, I have one.
     * SF: That would be a reference implementation.
     * NW: What about calling it xsl:documentation as a parallel with XML
       Schema and XProc?
     * MK: I prefer shorter names.
     * NW: Okay.

   Proposal: Accept this PR?

   Accepted.

2.2. Review of appendixes J.1.1 and J.1.2.

   See [25]J Changes since XSLT 3.0.

   We'll review the items in J.1.1. and J.1.2. with an eye towards
   categorizing them as:
    1. already agreed by the CG
    2. needs discussion and agreement
    3. OK to rubber-stamp without detailed review
    4. probably best withdrawn for reconsideration.

   MK leads the review of J.1.1 and J.1.2 based on his [26]email.
    1. Errata agreed against XSLT 3.0 have been applied.

     These were agreed by the old WG before it disbanded and should not
     need further review

    2. Support for XPath 4.0 and Functions and Operators 4.0 is required.
       This notably means that support for XDM arrays is now required.

     Hopefully uncontroversial.

    3. The xsl:if instruction acquires attributes then and else.

     Accepted 8 Nov 2022 subject to action ACTION QT4CG-010-02

    4. The xsl:when and xsl:otherwise elements can be evaluated using a
       select expression rather than a contained sequence constructor.

     Accepted 8 Nov 2022

    5. A new xsl:switch instruction is introduced.

     Accepted 8 Nov 2022

    6. The xsl:item-type declaration allows names to be given to item
       types, which can then be referenced by name. This is particularly
       useful with record types, introduced in XPath 4.0.

     Needs WG review; affects XQuery and XPath also

     * MK: repeating the types all the time is tedious
          + ... Should it be purely a macro, or does it have some
            semantics such as self-reference: how far should we go?
          + ... What are the scope rules? It should be another component
            that you can use and export, etc.
     * JL: At any level?
     * MK: I've only put at the top level.
          + ... Shouldn't be subject to import precedence.
     * NW: I think this is a really good idea, but what about XPath?
     * RD: There's an equivalent declare-item-type in XQuery
          + ... Issues: self-referencing, some grammar irregularities with
            item-type(name)
     * MK: There are lots of loose ends.
     * DN: I have mentioned elsewhere, this is a step forward, but it's
       just a lexical convention. We could go further and make types into
       real objects in the language. Maybe we should do this, but also
       continue to think about making a type object.
     * MK: It would be nice if types were objects were types in the
       language, but it's not going to be easy to do.

   General agreement to continue this work.
    7. A new xsl:function-library declaration is introduced, allowing
       functions from multiple different namespaces to be called without
       using a namespace prefix.

     MK proposes to withdraw this, the complexity probably exceeds the
     benefit

     * MK: I don't think this proposal is very satisfying.
          + ... One thing we can't do is an object-oriented approach.
            That's too big a change.
     * RD: One of the suggestions I made in one of DN's propsals was when
       importing to be able to override the definitipn. So if you have
       conflicts, you can make the imported function a new function and
       then you have to fix it with typeswitch yourself.
     * MK: Yes, something like that would help.
     * JL: Like xsl:original?
     * MK: Maybe.
     * DN: I think there was a good proposal near the beginning of the
       issue. I think CG is becoming more convinced that it's useful. If
       we introduce types as an object, that's where we can store the
       information. Sorry if I overreacted to the question about closing
       some issues. The problem still exists even if you close the issue
     * MK: Yes. I think I wanted to close the threads so we can start
       fresh. Plus, the default is always the status quo. If there isn't a
       proposal that stands a good chance of getting approval, then we
       always fall back in the status quo,

   ACTION QT4CG-023-02: MK to write a PR to drop xsl:function-library from
   the spec.

   ACTION QT4CG-023-03: MK to start a new thread for discussion function
   namespace flexibility
    8. The default namespace for element names and the default namespace
       for types can now be different, allowing built-in types to be
       referenced in unprefixed form ( as="integer" ).

     Needs WG review. The main motivation was to allow more flexibility
     for unprefixed names in paths, e.g. matching by local name only.

     * MK: Splitting these makes it possible to have more flexibility in
       matching from source documents. If most stylesheets aren't
       schema-aware, why not let users drop the xs: prefix.
     * RD: I've applied this change to my XQuery plugin and I'm happy with
       this change.
     * JL: Is there a possibility when you do as="integer", what would
       happen if you had a record type named integer
     * MK: We could, maybe should, reserve bare names for atomic types.
          + ... The other thing in this area that I've found attractive is
            allowing the option of an unprefixed name to match only the
            local name.
          + ... A practical reality is that you find different namespaces
            with the same local names.
     * RD: HTML allows something like this. I've made some proposals along
       these lines for similar reasons.

   ACTION QT4CG-023-04: MK to review and develop a proposal for separating
   element and type default namespaces
    9. New instructions xsl:array and xsl:array-member allow the
       construction of arrays.

     Needs WG review (and probably revision).

     * MK: Need more infrastructure work in XPath before we can do this.
       There are separate proposals for wider group review.
     * The instructions xsl:for-each, xsl:iterate, and xsl:for-each-group
       have attributes array and map which can be used in place of the
       select attribute to allow iteration over arrays or maps rather than
       sequences.

     We've already dropped this (see below). But it remains an issue.

   Same disposition as item 9.
   11. New pattern syntax (type(T), record(N, M, N)) allows matching of
       items by item type. Needs WG review.

   ACTION QT4CG-023-05: NW to put record types on an agenda.
   12. The xsl:mode declaration acquires an attribute as="sequence-type"
       which declares the return type of all template rules in that mode.

     Discussed 8 Nov 2022, no conclusion recorded.

   ACTION QT4CG-023-06: MK to revisit and make a PR for a sequence-type
   attribute on xsl:mode

   [ We were running out of time at this point, switching more broadly to
   next steps. ]
     * MK: I think we should agree that what's in the spec is accepted
       unless an issue is raised.

   No disagreement heard.

3. Any other business

   None heard.

References

   1. https://qt4cg.org/meeting/minutes/2023/02-21.html#minutes
   2. https://qt4cg.org/meeting/minutes/2023/02-21.html#new-actions
   3. https://qt4cg.org/meeting/minutes/2023/02-21.html#administrivia
   4. https://qt4cg.org/meeting/minutes/2023/02-21.html#roll-call
   5. https://qt4cg.org/meeting/minutes/2023/02-21.html#agenda
   6. https://qt4cg.org/meeting/minutes/2023/02-21.html#approve-minutes
   7. https://qt4cg.org/meeting/minutes/2023/02-21.html#next-meeting
   8. https://qt4cg.org/meeting/minutes/2023/02-21.html#open-actions
   9. https://qt4cg.org/meeting/minutes/2023/02-21.html#technical-agenda
  10. https://qt4cg.org/meeting/minutes/2023/02-21.html#h-CDF49238-C878-4CCF-9564-28BBF18FC841
  11. https://qt4cg.org/meeting/minutes/2023/02-21.html#h-9FF1A5C4-828E-4F85-A640-BFB1D40FA70C
  12. https://qt4cg.org/meeting/minutes/2023/02-21.html#h-B43832BD-DBDE-4459-B5C6-EE9BE57906A2
  13. https://qt4cg.org/meeting/minutes/2023/02-21.html#h-3C80588B-6B82-4EC0-95FE-7756A2EC5DCB
  14. https://qt4cg.org/meeting/minutes/2023/02-21.html#h-5ACE0622-A613-4026-9074-C7492E84CC15
  15. https://qt4cg.org/meeting/minutes/2023/02-21.html#any-other-business
  16. https://qt4cg.org/meeting/agenda/2023/02-21.html
  17. https://qt4cg.org/meeting/minutes/2023/02-14.html
  18. https://qt4cg.org/meeting/agenda/2023/02-28.html
  19. https://qt4cg.org/dashboard/#pr-347
  20. https://qt4cg.org/dashboard/#pr-347
  21. https://qt4cg.org/dashboard/#pr-362
  22. https://qt4cg.org/dashboard/#pr-354
  23. https://qt4cg.org/dashboard/#pr-353
  24. https://github.com/qt4cg/qtspecs/issues/109
  25. https://qt4cg.org/specifications/xslt-40/Overview.html#changes-since-3.0
  26. https://lists.w3.org/Archives/Public/public-xslt-40/2023Feb/0018.html

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Wednesday, 22 February 2023 10:05:44 UTC