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 #2990: 2989 Clarify coercion of external values for global variables
Pull request #2990 by michaelhkay.
Fix #2989 Changes the rules for load-xquery-module so that values supplied for external global variables are coerced to the required type.
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- specifications/xquery-40/src/query-prolog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2988: 2983 Expand and Extend Regex Formalism
Pull request #2988 by michaelhkay.
Fix #2983
Changed files
- specifications/xpath-functions-40/src/xpath-functions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2986: 2897 Namespace Axis
Pull request #2986 by ChristianGruen.
Fewer changes than I feared. For XQUF, we proceed as follows: - Generated prefixes: on insert and replace, we switch to a new prefix (`ns0_1`) where XQUF requires `XUDY0023`. - Insert: we drpo namespace nodes in the source. XQUF doesn't mention them, so read literally they would be inserted as children. - Delete: we ignore namespace nodes. XQUF only skips nodes without a parent, so read literally they would be deleted. Closes #2897
Changed files
- specifications/grammar-40/xpath-grammar.xml
- specifications/xpath-datamodel-40/src/xpath-datamodel.xml
- specifications/xquery-40/src/errors.xml
- specifications/xquery-40/src/expressions.xml
- specifications/xquery-40/src/xpath-backwards-compat.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2985: 2984 Serialization parameters unified
Pull request #2985 by ChristianGruen.
…much better than what we have now, I hope. Feel free to rant at my XSL style; at least it’s properly indented ;) #2981 wil need to be rebased. Closes #2984
Changed files
- build.gradle
- specifications/xpath-functions-40/src/function-catalog.xml
- specifications/xpath-functions-40/style/merge-function-specs.xsl
- specifications/xquery-40/src/query-prolog.xml
- specifications/xslt-40/src/xslt.xml
- specifications/xslt-xquery-serialization-40/src/serialization-parameters.xml
- specifications/xslt-xquery-serialization-40/src/xslt-xquery-serialization.xml
- specifications/xslt-xquery-serialization-40/style/merge-serialization.xsl
- style/assemble-spec.xsl
- style/serialization-parameters.xsl
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2981: 2980 Adaptive serialization: modes
Pull request #2981 by ChristianGruen.
…later than “next minutes”, but it’s online now. Closes #2980
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- specifications/xquery-40/src/query-prolog.xml
- specifications/xslt-40/src/element-catalog.xml
- specifications/xslt-40/src/schema-for-xslt40.xsd
- specifications/xslt-40/src/xslt.xml
- specifications/xslt-xquery-serialization-40/src/schema-for-serialization-parameters.xsd
- specifications/xslt-xquery-serialization-40/src/xslt-xquery-serialization.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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/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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2831: 2809 fn:deep-equal, debug option: nondeterminism
Pull request #2831 by ChristianGruen.
Closes #2809
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2350: 708 fn:generate
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XPath 4.0 (DeltaXignia diff)
- XQuery and XPath Data Model 4.0 (DeltaXignia diff)
- XPath and XQuery Functions and Operators 4.0 (DeltaXignia diff)
- XQuery 4.0: An XML Query Language (DeltaXignia diff)
- XSL Transformations (XSLT) Version 4.0 (DeltaXignia diff)
- XSLT Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)