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 #2892: 2891 Oxford comma: inconsistencies

Pull request #2892 by ChristianGruen.

90% XQuery, 10% human eyes Closes #2891

Changed files
  • specifications/EXPath/binary/src/binary-functions.xml
  • specifications/EXPath/binary/src/function-catalog.xml
  • specifications/EXPath/file/src/file-functions.xml
  • specifications/EXPath/file/src/function-catalog.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/ebnf.xml
  • specifications/xquery-40/src/expressions.xml
  • specifications/xslt-40/src/function-catalog.xml
  • specifications/xslt-40/src/xslt.xml
  • specifications/xslt-xquery-serialization-40/src/xslt-xquery-serialization.xml

PR #2890: 2872 Refine supports-dtd option

Pull request #2890 by michaelhkay.

Splits the supports-dtd option into `supports-dtd-validation` and `supports-dtd-attribute-typing` on the grounds that some commonly used XML parsers (for example the Microsoft .NET parser) support one and not the other.

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

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 #2875: 2874 Formal equivalencies: bugs

Pull request #2875 by ChristianGruen.

Closes #2874

Changed files
  • specifications/EXPath/binary/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/generate-equivalence-tests.xsl
  • specifications/xquery-40/src/expressions.xml

PR #2869: 2820 Revise cast expressions to avoid the need for occurrence indicators

Pull request #2869 by michaelhkay.

Fix #2820 Issue 2820 reported a syntax ambiguity resulting from the addition of occurrence indicators to cast expressions. This PR solves the issue by dropping the occurrence indicators; casting of a sequence to a sequence type is now an internal operation performed when casting an array, map, or record, but is not exposed in user-visible syntax.

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

PR #2071: 77c deep update

Pull request #2071 by michaelhkay.

Proposes a new fn:update function that can handle both JNodes and XNodes. (this is a branch on a branch, so I don't know how well the diff'ing will work; but look in F&O for the fn:update function)

Changed files
  • specifications/grammar-40/xpath-grammar.xml
  • specifications/image-sources/item-types.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-xquery-serialization-40/src/xslt-xquery-serialization.xml