QT4 CG Meeting 116 Agenda 2025-04-08

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 (25 March; there was no meeting on 1 April).

1.4. Next meeting

This meeting is planned for 8 April 2025. The following meeting is scheduled for 15 April 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-112-01: JLO to propose a concrete example that uses “.” in a ~%method~s.
  • [ ] QT4CG-113-02: NW to investigate a way to show extra attributes in the syntax summary.
  • [ ] QT4CG-115-01: MK to give an example of params passed automatically through next-match using a 3.0 version control
  • [ ] QT4CG-115-02: JWL to write a few tests for 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 #1888: 366 xsl:package-location
  • 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 #1913: 1911 Clarifications for regular expressions
  • PR #1904: 1832 Operator Associativity
  • PR #1898: 1624b Expand rules for document node subtyping

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 #1900: Records: instance checks
  • Issue #1846: %method functions, dynamic function calls
  • Issue #982: scan-left, scan-right: position argument, array functions
  • Issue #564: Sorted maps

1.6.4. Substantive PRs

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

  • PR #1915: 1902b bin:unpack out of range error
  • PR #1914: 501 Error handling: try/finally
  • PR #1910: 1021 (part 1) Add $options arg to doc() and doc-available()
  • PR #1908: 1520 Allow forwards references to named item types
  • PR #1906: 1797 elements-to-maps-conversion-plan function
  • PR #1901: 1363 fallback becomes a value not a function
  • PR #1897: 1876 In fn:replace(), merge the $replacement and $action parameters
  • PR #1895: 1881 Function identity for maps and arrays
  • PR #1894: Additional examples to fn:chain - in a new branch
  • PR #1883: 882 Replace fn:chain by fn:compose
  • PR #1819: 451 Multiple schemas in XSLT
  • 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: try/finally
  • 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 #1912: Error handling: `fn:throw`
  • Issue #1911: Remarks on recent changes to regular expression handling
  • Issue #1907: Method lookup: wildcards
  • Issue #1905: Editorial edits
  • Issue #1903: `fn:scan-left`, `fn:scan-right`: missing steps
  • Issue #1896: Drop "parameter names" as a property of a function item
  • Issue #1891: `fn:parse-html`: `html-version`
  • Issue #1889: HTML serialization: `html-version` and `version` parameters; allowed values
  • 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 #1846: %method functions, dynamic function calls
  • Issue #1844: Drop mapping arrow operator
  • Issue #1799: "well-formed HTML document"?
  • 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 #1644: fn:elements-to-maps: Mixed Content
  • 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 #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 #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

We do need to get back to issue triage, but in the interest of “catching up”, let’s plan to focus on PRs this week. I’ve tried to order them with the “easy” ones first, but suggestions for reordering a perfectly in order. (No pun intended.)

I don’t actually think we’ll get through all of these, but let’s try to prioritize finishing the small ones over discussing the big ones where practical.

2.1. Review of pull requests

2.1.1. PR #1915: 1902b bin:unpack out of range error

See PR #1915

2.1.2. PR #1914: 501 Error handling: try/finally

See PR #1914

2.1.3. PR #1910: 1021 (part 1) Add $options arg to doc() and doc-available()

See PR #1910

2.1.4. PR #1908: 1520 Allow forwards references to named item types

See PR #1908

2.1.5. PR #1897: 1876 In fn:replace(), merge the $replacement and $action parameters

See PR #1897

2.1.6. PR #1895: 1881 Function identity for maps and arrays

See PR #1895

2.1.7. PR #1901: 1363 fallback becomes a value not a function

See PR #1901

2.1.8. PR #1819: 451 Multiple schemas in XSLT

See PR #1819

2.1.9. PR #1587: 557 Add fn:binary-resource

See PR #1587

2.1.10. PR #1906: 1797 elements-to-maps-conversion-plan function

See PR #1906

2.1.11. PR #1894: Additional examples to fn:chain - in a new branch

See PR #1894

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

See PR #1883

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