QT4 CG Meeting 114 Agenda 2025-03-18

Agenda index / QT4CG.org / Dashboard / GH Issues / GH Pull Requests

Agenda

This meeting will be hosted on Zoom at 16:00GMT (17:00CET, 12:00EDT)

The Zoom meeting ID is 831 9996 6275; the passcode is 707664.

See the meeting logistics page for more details.

Note: The QT4CG meeting is scheduled on UK/European civil time. The United States switched to daylight saving time on 9 March 2025, so the meetings of 11, 18, and 25 March will be one hour later there (12:00 EDT, 09:00 PDT) until the UK/Europe also switches (on 30 March 2025).

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 18 March 2025. The following meeting is scheduled for 25 March 2025.

Note: The QT4CG meeting is scheduled on UK/European civil time. The United States switched to daylight saving time on 9 March 2025, so the meetings of 18 and 25 March will be one hour later there (12:00 EDT, 09:00 PDT) until the UK/Europe also switches (on 30 March 2025).

1.5. Review of open action items [0/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-110-04: JK to consider a PR for #366, xsl:use-package with xsl:package-location
  • [ ] QT4CG-112-01: JLO to propose a concrete example that uses “.” in a ~%method~s.
  • [ ] QT4CG-113-01: MK to make a PR to drop the position callback on fold-left/fold-right
  • [ ] QT4CG-113-02: NW to investigate a way to show extra attributes in the syntax summary.
  • [ ] QT4CG-113-03: JWL to consider shadow attributes and all the other standard attributes on 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 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 #1283: 77b Update expressions
  • PR #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 #1880: Editorial revision of fn:function-identity
  • PR #1878: 1851 Make ?variety optional; explain namespace-sensitive
  • PR #1875: 1861 Params passed automatically through next-match
  • PR #1873: 1869 duplicate values

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 #1863: add \U \u L \u \E to replace() (case conversion)

1.6.4. Substantive PRs

The following substantive PRs were open when this agenda was prepared.

(Note that the PRs to be discussed are listed in the technical agenda below.)

  • PR #1883: 882 Replace fn:chain by fn:compose
  • PR #1882: 982 Editorial rewrite of scan-left and scan-right
  • PR #1879: 1857, 1860: Add more options to parse-xml
  • PR #1877: 1866 Disambiguate TypeSpecifier syntax
  • PR #1874: 1862 Coercing to a record type changes map order
  • PR #1867: 1341 Drop position from fold callbacks
  • PR #1858: Initial xsl:record
  • PR #1856: 998 Add boundary and lookahead/behind assertions
  • PR #1819: 451 Multiple schemas in XSLT
  • PR #1766: 1715 Drop array bound checking
  • PR #1587: 557 Add fn:binary-resource

1.6.5. Required for V4.0

The following issues are labeled “required for V4.0”.

  • Issue #1777: Shallow copy in XSLT with maps and arrays
  • Issue #1742: Maps constructed using streamed xsl:fork instruction should not be ordered
  • 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 #826: Arrays: Representation of single members of an array
  • Issue #748: Parse functions: consistency
  • Issue #714: Function annotations in XSLT
  • Issue #675: XSLT streaming rules for new constructs
  • Issue #501: Error handling: Rethrow errors; finally block
  • 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.6. To be triaged

The following issues need to be triaged.

  • Issue #1881: fn:function-identity for maps and arrays
  • Issue #1876: `fn:replace`: Combine $replacement and $action parameters
  • Issue #1871: Arrays and maps: consistency
  • Issue #1870: Rename $zero keyword of fold-left and fold-right
  • Issue #1868: array:members() to include index position
  • Issue #1863: add \U \u L \u \E to replace() (case conversion)
  • 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 #1846: %method functions, dynamic function calls
  • Issue #1844: Drop mapping arrow operator
  • Issue #1832: Associativity of Operators, especially "||" (Appendix A.5)
  • Issue #1799: "well-formed HTML document"?
  • Issue #1797: elements-to-maps: separate function to construct a plan
  • 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 #1754: Inverse functions to bin:hex, bin:bin, and bin:octal
  • Issue #1736: Add option retain-order=false when constructing maps
  • Issue #1718: Ordered Maps: positions in callback functions
  • Issue #1704: Ignore the byte order mark more completely/globally
  • Issue #1697: Add documentary names to callback function signatures
  • Issue #1661: QName arguments: also allow strings
  • Issue #1660: Further suggestions for fn:path
  • Issue #1658: fn:elements-to-maps: `empty`, normalize space ?
  • Issue #1648: fn:elements-to-maps: Types
  • Issue #1647: fn:elements-to-maps: Explicit Layouts
  • Issue #1646: fn:elements-to-maps: Robustness
  • Issue #1645: fn:elements-to-maps: Debugging
  • Issue #1644: fn:elements-to-maps: Mixed Content
  • Issue #1624: document-node(a|b) is the same type as document-node(a)|document-node(b)
  • Issue #1618: Adaptive serialization: doubles
  • Issue #1591: Implausible filter expressions
  • Issue #1583: JSON: Parsing and serializing numbers, often undesired E notation
  • Issue #1568: Define a Unicode case-insensitive collation
  • Issue #1528: Computed node constructors: observations
  • Issue #1520: Type declarations of cyclically dependent modules
  • 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 #1416: Key-value pairs: built-in record type `pair`
  • Issue #1363: map:get and array:get
  • Issue #1310: add fn:match-groups() function
  • Issue #1307: For symmetry, add functions array:scan-left and array:scan-right
  • Issue #1271: Schema validation in XPath
  • Issue #1175: XPath: Optional parameters in the definition of an inline function
  • Issue #850: fn:parse-html: Finalization
  • Issue #760: Serialize functions: consistency
  • Issue #641: Serialization fallback.
  • Issue #119: Allow a map's key value to be any sequence

2. Technical agenda

2.1. Review of pull requests

2.1.1. PR #1877: 1866 Disambiguate TypeSpecifier syntax

See PR #1877

I was tempted to mark this one merge-without-discussion, but let’s see if we all agree on the proposed syntactic change.

2.1.2. PR #1882: 982 Editorial rewrite of scan-left and scan-right

See PR #1882

I was tempted to mark this one merge-without-discussion, but there’s an open comment on the PR (but not an especially substantive one, AFAICT).

2.1.3. PR #1879: 1857, 1860: Add more options to parse-xml

See PR #1879

I was tempted to mark this one merge-without-discussion, but some brief discussion of entity-expansion-limit may be in order.

2.1.4. PR #1856: 998 Add boundary and lookahead/behind assertions

See PR #1856

2.1.5. PR #1867: 1341 Drop position from fold callbacks

See PR #1867

2.1.6. PR #1883: 882 Replace fn:chain by fn:compose

See PR #1883

2.1.7. PR #1875: 1861 Params passed automatically through next-match

See PR #1875

2.1.8. PR #1874: 1862 Coercing to a record type changes map order

See PR #1874

2.2. Issue triage

2.2.1. Issue #1832: Associativity of Operators, especially "||" (Appendix A.5)

See issue #1832

2.2.2. Issue #1799: "well-formed HTML document"?

See issue #1799

2.2.3. Issue #1797: elements-to-maps: separate function to construct a plan

See issue #1797

2.2.4. Issue #760: Serialize functions: consistency

See issue #760

2.2.5. Issue #641: Serialization fallback.

See issue #641

2.2.6. Issue #119: Allow a map's key value to be any sequence

See issue #119

3. Any other business