QT4 CG Meeting 120 Agenda 2025-05-06
Agenda index / QT4CG.org / Dashboard / GH Issues / GH Pull Requests
Agenda
This meeting will be hosted on Zoom at 16:00BST (15:00GMT, 17:00CEST, 11:00EDT).
The Zoom meeting ID is 831 9996 6275; the passcode is 707664.
See the meeting logistics page for more details.
1. Administrivia
1.1. Roll call
1.2. Approve the agenda
1.3. Approve minutes of previous meeting
Minutes of the previous meeting.
1.4. Next meeting
This meeting is planned for 6 May 2025. The following meeting is scheduled for 13 May 2025.
1.5. Review of open action items [1/7]
(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-116-01: Add a specific error code for unsupported options on doc and doc-available[ ]
QT4CG-118-01: MK to make an incorrect type raise an error in #1906[X]
QT4CG-119-01: NW will add a bit of prose about * and then merge the PR 1961[ ]
QT4CG-119-02: MK to add a note about how schema composition is done for multiple options
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 Technical Agenda below for the focus of this meeting.
1.6.1. Blocked
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 #1974: 1973 Cross-reference from type analysis to definition of disjointedness
- PR #1971: 1951 Clarifications on serialization parameters
- PR #1969: 1952 Change option name xsi-schema-location
- PR #1968: 1967 r/binary-resource/unparsed-binary/
- PR #1964: 1957 xsl output allows mixed content
- PR #1963: 1958 Fix simple typo in map:build
1.6.3. Substantive PRs
The following substantive PRs were open when this agenda was prepared.
- PR #1977: 1889 Tidy up handling of HTML serialization version, default to HTML5
- PR #1976: 1661 Introduce QName literals
- PR #1975: 1240 Allow operand of dynamic function call to be a sequence
- PR #1971: 1951 Clarifications on serialization parameters
- PR #1964: 1957 xsl output allows mixed content
- PR #1959: 1953 (part) XSLT Worked example using methods to implement atomic sets
- PR #1894: Additional examples to fn:chain - in a new branch
- PR #1888: 366 xsl:package-location
- PR #1883: 882 Replace fn:chain by fn:compose
1.6.4. Required for V4.0
The following issues are labeled “required for V4.0”.
- Issue #1777: Shallow copy in XSLT with maps and arrays
- Issue #1584: Review the XML Schema and RELAX NG schemas for XSLT 4.0 for compatibility
- Issue #1240: $sequence-of-maps ? info()
- Issue #1127: Binary resources
- Issue #1045: Functions to manage namespace usage
- Issue #1021: Extend `fn:doc`, `fn:collection` and `fn:uri-collection` with options maps
- Issue #1011: fn:transform() improvements
- Issue #986: Numeric Comparisons
- Issue #967: XPath Appendix I: Comparisons
- Issue #748: Parse functions: consistency
- Issue #714: Function annotations in XSLT
- Issue #675: XSLT streaming rules for new constructs
- Issue #407: XSLT-specific context properties used in function items
- Issue #366: Support xsl:use-package with xsl:package-location
- Issue #272: Setting parameter values in xsl:use-package
1.6.5. To be triaged
The following issues need to be triaged.
- Issue #1979: Records: Type Safety
- Issue #1970: Editorial notes
- Issue #1955: fn:doc, fn:parse-xml: entity expansion
- Issue #1949: fn:element-to-map: Updated Feedback
- Issue #1948: fn:element-to-map: Tests
- Issue #1946: We need examples of a record with an entry that is a %method and invoking this method with the result it must produce
- Issue #1944: Try/Catch/Finally - order of evaluation
- Issue #1938: Invoking coerced methods
- Issue #1935: doc-available() with invalid options
- Issue #1934: Supporting RELAX NG validation
- Issue #1920: Parse functions: determinism
- Issue #1912: Error handling: `fn:throw`
- Issue #1903: `fn:scan-left`, `fn:scan-right`: missing steps
- Issue #1885: Use the spcification grammar markup to define the regular expression grammar in F&O
- Issue #1871: Arrays and maps: consistency
- Issue #1868: array:members() to include index position
- Issue #1859: Question on `fn:chain` and `err:FOAP0001`
- Issue #1852: fn:values-except: Return atomic values that occur in A but not in B
- Issue #1795: XSLT templates: Matching values in a map by key
- Issue #1787: Sorted maps revisited
- Issue #1775: Navigation in JSON trees
- Issue #1774: Nomenclature: relabelling
- Issue #1736: Add option retain-order=false when constructing maps
- Issue #1718: Ordered Maps: positions in callback functions
- Issue #1697: Add documentary names to callback function signatures
- Issue #1661: QName arguments: also allow strings
- Issue #1618: Adaptive serialization: doubles
- Issue #1591: Implausible filter expressions
- Issue #1583: JSON: Parsing and serializing numbers, often undesired E notation
- Issue #1528: Computed node constructors: observations
- Issue #1484: Functions that expect a record type should make it extensible
- Issue #1479: Default element namespace in XQuery: interaction of 'fixed' and '##any'
- Issue #1459: Function properties and arities (editorial)
- Issue #1310: add fn:match-groups() function
- Issue #1307: For symmetry, add functions array:scan-left and array:scan-right
- Issue #1175: XPath: Optional parameters in the definition of an inline function
- Issue #760: Serialize functions: consistency
- Issue #641: Serialization fallback.
2. Technical agenda
2.1. Review of pull requests
2.2. PR #1883/1894: fn:chain and fn:compose
Related PRs:
- PR #1883: 882 Replace fn:chain by fn:compose
- PR #1894: Additional examples to fn:chain - in a new branch
We need to come to some resolution on this issue. Recall that in last week’s straw poll, there were only two options that got any votes at all: fn:compose (only) got 6 votes, both got 3 votes.
I’m going to time box this discussion to 10 minutes. If, after that time, there is still a substantial majority in favor of fn:compose only, I’m going to ask the minority to accept that the consensus does not favor keeping fn:chain as well.
2.3. PR #1976: 1661 Introduce QName literals
See PR #1976
2.4. PR #1975: 1240 Allow operand of dynamic function call to be a sequence
See PR #1975
2.5. PR #1977: 1889 Tidy up handling of HTML serialization version, default to HTML5
See PR #1977
2.6. PR #1971: 1951 Clarifications on serialization parameters
See PR #1971
2.7. PR #1959: 1953 (part) XSLT Worked example using methods to implement atomic sets
See PR #1959
2.8. PR #1888: 366 xsl:package-location
See PR #1888
2.9. PR #1964: 1957 xsl output allows mixed content
See PR #1964
2.10. Issue triage
2.10.1. Issue #1832: Associativity of Operators, especially "||" (Appendix A.5)
See issue #1832
2.10.2. Issue #1799: "well-formed HTML document"?
See issue #1799
2.10.3. Issue #1797: elements-to-maps: separate function to construct a plan
See issue #1797
2.10.4. Issue #760: Serialize functions: consistency
See issue #760
2.10.5. Issue #641: Serialization fallback.
See issue #641
2.10.6. Issue #119: Allow a map's key value to be any sequence
See issue #119