QT4 CG Dashboard

These are the open pull requests and current branches. Where possible, a summary of the changes between the pull request or branch and the latest drafts is provided with a DeltaXignia pipeline.

Pull requests in descending order

PR #2979: 2972 Simplify record types

Pull request #2979 by michaelhkay.

This PR simplifies the definition of record types as follows: 1. Terminology: structural and nominative record types become "simple" and "labeled" record types 2. Simple record types revert to being purely structural: both type membership (matching) and subtyping depend only on comparing the contents of the definitions; no type annotations are needed on map instances. 3. The default for the %constructor annotation switches; you now need a %no-constructor annotation to prevent the generation of a constructor function.

Changed files
  • specifications/xpath-datamodel-40/src/xpath-datamodel.xml
  • specifications/xquery-40/src/expressions.xml
  • specifications/xquery-40/src/query-prolog.xml
  • specifications/xslt-40/src/xslt.xml

PR #2978: 2972 Records and simplicity

Pull request #2978 by ChristianGruen.

…an attempt to simplify records, as motivated by the table in https://github.com/qt4cg/qtspecs/issues/2972#issuecomment-6096543708. All kind of feedback is welcome (much more time went into this than originally planned; it also includes cleanups of minor inconsistencies). The good thing: it made the implementation much easier again. Closes #2972

Changed files
  • specifications/grammar-40/xpath-grammar.xml
  • specifications/xpath-datamodel-40/src/xpath-datamodel.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml
  • specifications/xquery-40/src/expressions.xml
  • specifications/xquery-40/src/query-prolog.xml
  • specifications/xslt-40/src/element-catalog.xml
  • specifications/xslt-40/src/xslt.xml

PR #2977: 2976 `fn:current`: drop it!

Pull request #2977 by ChristianGruen.

👋

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml
  • specifications/xquery-40/src/expressions.xml
  • specifications/xquery-40/src/query-prolog.xml
  • specifications/xslt-40/src/function-catalog.xml
  • specifications/xslt-40/src/xslt.xml

PR #2948: 2919 fn:distinct-by

Pull request #2948 by ChristianGruen.

Split from #2932, discussion ongoing (see https://qt4cg.org/meeting/minutes/2026/09-29.html). Issue: #2919

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml

PR #2939: 2936 Named function references: make early errors optional

Pull request #2939 by ChristianGruen.

Closes #2936

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xquery-40/src/back-matter.xml
  • specifications/xquery-40/src/expressions.xml

PR #2931: 2930 fn:map-to-element: tweaks

Pull request #2931 by ChristianGruen.

…and some more, which I hope will improve usability: * Layout selection: each element’s layout is chosen from the plan entry, then the `*` fallback, or otherwise inferred from the value’s shape. * One table: each layout has one row that says which values it accepts and how the element is rebuilt. * One child or several: the plan decides whether an array under a key means one child or repeated children. * Stricter arrays: attributes come first, and forms that element-to-map never produces are rejected. * Marker clash: a key starting with `@` is read as an attribute, even with a custom attribute-marker. * `()` is `""`, so JSON `null` from `parse-json` works. * Note: how to convert JSON objects with several keys, and JSON arrays, by wrapping them. * Error list: simplified in `function-catalog.xml`. Only 2, 3 existing test cases will need to be changed. Closes #2930

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml

PR #2920: 2813 clarifications for xsl:result-document

Pull request #2920 by michaelhkay.

The primary purpose of this PR is to clarify the situation when an xsl:result-document instruction has an empty or absent href attribute, and thus writes to the principal output destination. However, it also takes the opportunity to add many more clarifications to the serialization part of the XSLT spec, to improve the order of presentation, and to remove some redundancy Fix #2813

Changed files
  • specifications/xslt-40/src/xslt.xml

PR #2918: 2600 Options on fn:collection()

Pull request #2918 by michaelhkay.

Defines an options parameter for the fn:collection and fn:uri-collection functions. Fix #2600 Fix #285

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml

PR #2885: 2849 xs:integer vs. restricted subtypes

Pull request #2885 by ChristianGruen.

In this PR, numeric specific subtypes are changed back to the general `xs:integer` (see #2849 for the rationale). It also fixes an inconsistency in the CSV rules… `parsed-csv-structure-record?column-index` was `map(xs:string, xs:integer)` with the prose “column positions (as 1-based positive integers)”, while `?get` in the same record type uses `xs:positiveInteger`. …and it now allows users to also supply negative input for `fn:unix-dateTime` (similarly: “If the value is out of range …”).

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xquery-40/src/expressions.xml

PR #2881: 2873 fn:update: another attempt

Pull request #2881 by ChristianGruen.

I deliberately ignored Sequence JNodes and the ·jposition· property. I will look at it once #2878 is done.

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml

PR #2760: 2521 URIs: unify handling of fragment identifiers

Pull request #2760 by ChristianGruen.

This PR proposes to treat fragment identifiers identically for `fn:doc`, `fn:unparsed-text`, and `fn:unparsed-binary`. I have added a reference to RFC5147. Closes #2521

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml

PR #2350: 708 An alternative proposal for generators

Pull request #2350 by michaelhkay.

This proposal has two ingredients (a) a single function generate-sequence() that produces a sequence of states from an initial state and a function that computes one state from the previous state (b) a definition of pipelining (aka lazy evaluation) and (currently incomplete) rules requiring certain operations to have a pipelined implementation.

Changed files
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml

PR #2247: 716 Deferred Evaluation in XPath - the f:generator record

Pull request #2247 by dnovatchev.

This PR introduces the notion of deferred evaluation and presents the tool to achieve this - the built-in named record type `f:generator`. - Two major use cases are presented. - The fields of `f:generator` are defined. - All system-provided methods of `f:generator` are defined. - Examples of using each of the methods of `f:generator` are provided. - The formal equivalents of each of the system-provided methods of `f:generator` are provided in a separate appendix. <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/65d04952-794f-4a81-ae64-c96217a9812d" />

Changed files
  • schema/xsl-query.dtd
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml