QT4 CG Meeting 123 Agenda 2025-05-27
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 27 May 2025. The following meeting is scheduled for 10 June 2025. The CG will not meet on 3 June.
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-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[ ]
QT4CG-119-02: MK to add a note about how schema composition is done for multiple options[ ]
QT4CG-021-01: MK to raise a new issue which may propose a subset of the QNameLiteral which doesn't permit a namespace.
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 #2024: Add rules for $V?$X
1.6.3. Substantive PRs
The following substantive PRs were open when this agenda was prepared.
- PR #1984: 882 Drop fn:chain
- PR #1894: Additional examples to fn:chain - in a new branch
- PR #2013: 748 Parse functions: consistency
- PR #1959: 1953 (part) XSLT Worked example using methods to implement atomic sets
- PR #2011: 675(part): Add XSLT static typing rules for new kinds of XPath expression
- PR #1942: 37 Support sequence, array, and map destructuring declarations
- PR #1888: 366 xsl:package-location
- PR #2019: 1776: XSLT template rules for maps and array
- PR #2015: 2009 Avoid constructing document node when it makes no sense
- PR #2014: QT4CG-122-01 Add notes, examples, and rationale for xsl:select
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 #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 #2025: Combine the concepts of pins/labels and modified lookups
- Issue #2022: Simplify optional XQuery conformance features
- Issue #2021: XSLT: Move "Patterns" section into "Template Rules"
- Issue #2018: Type-checking the result of xsl:apply-templates
- Issue #2017: `fn:sort-by`: Observations
- Issue #2016: File Module: Incorporate changes
- Issue #2012: Add array:sort-with
- Issue #2010: XSLT patterns: generalize union, intersect, and except
- Issue #2007: Creating arrays in XSLT
- Issue #2003: Conditional entries in map constructors
- Issue #2002: Adaptive serialization: QNames
- Issue #2000: element-to-map() - type signature of plan
- Issue #1996: Lookups, KeySpecifier: add NumericLiteral and ContextValueRef?
- Issue #1995: Consistency: array lookups
- Issue #1980: HTML serialization: the rules for adding a meta element need to be aligned with HTML5
- 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 #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 #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.
- Issue #115: Lookup operator on arrays of maps
2. Technical agenda
2.1. Review of pull requests
2.2. What about fn:chain?
We had a couple of meetings discussing the proposal to replace fn:chain
with
fn:compose
. The PR for discussion this week simply removes fn:chain
. (In
previous straw polls, no one preferred “only fn:chain”; this PR changes the
status quo to reflect that.)
I don’t expect there’s a lot of new technical ground to cover here, so we’ll attempt to time box the discussion. Ultimately, I hope the CG can express a clear consensus and that everyone in the minority can accept that consensus.
See PR #1984: 882 Drop fn:chain, and PR #1894: Additional examples to fn:chain
2.3. PR #1959: 1953 (part) XSLT Worked example using methods to implement atomic sets
See PR #1959
2.4. PR #2011: 675(part): Add XSLT static typing rules for new kinds of XPath expression
See PR #2011
2.5. PR #1942: 37 Support sequence, array, and map destructuring declarations
See PR #1942
2.6. PR #1888: 366 xsl:package-location
See PR #1888
2.7. PR #2013: 748 Parse functions: consistency
See PR #2013
2.8. PR #2019: 1776: XSLT template rules for maps and array
See PR #2019
2.9. PR #2015: 2009 Avoid constructing document node when it makes no sense
See PR #2015
2.10. PR #2014: QT4CG-122-01 Add notes, examples, and rationale for xsl:select
See PR #2014
2.11. Issue triage
2.11.1. Issue #1832: Associativity of Operators, especially "||" (Appendix A.5)
See issue #1832
2.11.2. Issue #1799: "well-formed HTML document"?
See issue #1799
2.11.3. Issue #1797: elements-to-maps: separate function to construct a plan
See issue #1797
2.11.4. Issue #760: Serialize functions: consistency
See issue #760
2.11.5. Issue #641: Serialization fallback.
See issue #641
2.11.6. Issue #119: Allow a map's key value to be any sequence
See issue #119