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 #2904: 2902 Document option trusted => trust-external

Pull request #2904 by michaelhkay.

Fix #2902 Rename the option "trusted" on fn:document to "trust-external", to align with fn:doc. Also updates some of the relevant change metadata.

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

PR #2896: Add Christian Grün as joint editor

Pull request #2896 by michaelhkay.

This PR proposes to add Christian's name as joint editor of the 4.0 specs, with the exception of XSLT and XSLT Streaming.

Changed files
  • specifications/EXPath/binary/src/binary-functions.xml
  • specifications/xpath-datamodel-40/src/xpath-datamodel.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml
  • specifications/xquery-40/src/xquery-header.xml
  • specifications/xslt-xquery-serialization-40/src/xslt-xquery-serialization.xml

PR #2893: Improve formatting of F&O examples

Pull request #2893 by michaelhkay.

(a) Adopts uniform rendition for code in example regardless whether its wrapped in `eg` or `code` (b) Adds a "Task:" header to separate executable from narrative examples (c) renders "postamble" text after the result as a note.

Changed files
  • specifications/xpath-functions-40/style/merge-function-specs.xsl
  • style/xsl-query-2016.xsl

PR #2886: 1459 Function properties and arities

Pull request #2886 by ChristianGruen.

Summary of the most important changes: * I have removed the explicit listing of the default function properties both in the code as well as in the rendered representation (deterministic, context-independent, focus-independent); they are stated once in a new sectin §1.5.4. * The arity prose has been changed to a single sentence naming the omitted argument, for example: “If `$node` is absent, this function is context-dependent and focus-dependent.” * Various wrong statements were fixed (`fn:format-integer`, `fn:format-number`, `fn:civil-timezone`, fn:contains-subsequence`, `fn:load-xquery-module`, `fn:in-scope-prefixes`, and others). * Functions like `fn:transform` now name the component they depend on. Closes #1459

Changed files
  • specifications/EXPath/binary/src/function-catalog.xml
  • specifications/EXPath/file/src/function-catalog.xml
  • specifications/xpath-functions-40/src/function-catalog.xml
  • specifications/xpath-functions-40/src/xpath-functions.xml
  • specifications/xpath-functions-40/style/merge-function-specs.xsl
  • specifications/xslt-40/src/function-catalog.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 #2878: 2073 JNodes and Sequences

Pull request #2878 by michaelhkay.

Fix #2073 Supersedes #2160 This proposal solves the problem of representing JTrees containing sequences of more than one item by introducing an extra JNode for such sequences, called a sequence JNode. The children of a sequence JNode represent the items in the sequence, and their jkey property represents the position of the item in the sequence. This eliminates the need for the jposition property. Navigating trees containing sequence JNodes is awkward because the representation of singleton sequences and non-singleton sequences is not uniform; but such trees never arise in JSON structures and we don't have to optimize their usability. The revised design simplifies mainstream use cases involving JSON by eliminating the jposition property.

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

PR #2868: 2867 fn:current everywhere

Pull request #2868 by ChristianGruen.

Closes #2867

Changed files
  • specifications/grammar-40/xpath-grammar.xml
  • 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 #2789: 2787 XQuery changes to merge declare record and declare type

Pull request #2789 by michaelhkay.

Now that "declare type" produces constructor functions, there is no longer any good reason to preserve the overlapping functionality of "declare type" and "declare record". This PR currently makes the XQuery changes to merge these constructs; I intend to make similar changes for XSLT. Along the way, there are some other minor changes: * The definition of Constant now allows the empty sequence, () * The initialiser defining the default value of a field in a record type must be a Constant * The default value for a field is used in coercion from maps to record types as well as in constructor functions * Creating a constructor function for a named type is optional, by explicit request * Constructor functions can be created for a record type even if its field names are not all NCNames * The rule that coercion from maps to record types doesn't allow extraneous fields in the map is now explicit. We seem to have somehow referred to this rule without actually defining it.

Changed files
  • specifications/grammar-40/xpath-grammar.xml
  • specifications/xquery-40/src/errors.xml
  • specifications/xquery-40/src/expressions.xml
  • specifications/xquery-40/src/query-prolog.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