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 #2609: QT4CG-156-03 Revise text on JNode identity

Pull request #2609 by michaelhkay.

I've tried to incorporate feedback from the discussion, though my notes and the official minutes fail to capture all the points that were made.

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

PR #2608: 2312 Removal of Map/Array Filter (somewhat sigh)

Pull request #2608 by ChristianGruen.

Closes #2312

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/ebnf.xml
  • specifications/xquery-40/src/expressions.xml
  • specifications/xslt-streaming-40/src/xslt-streaming.xml

PR #2604: Action QT4CG-160-01 Methods and Method Calls

Pull request #2604 by michaelhkay.

I'm not quite sure what "markup error" the action was referring to, but I've proof-read the relevant section and fixed a couple of typos.

Changed files
  • specifications/xquery-40/src/expressions.xml

PR #2603: 2602 EXPath file and binary modules as optional features

Pull request #2603 by michaelhkay.

Fix #2602. The EXPath file and binary modules become optional conformance features in XQuery and XSLT. Interrogatives for these features are added to the system-property() and system-properties() functions. Fulfils action QT4CG-158-02

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

PR #2601: 2568 Error code changes for dateTime functions

Pull request #2601 by martian-a.

Replaces https://github.com/qt4cg/qtspecs/pull/2599 to fix #2568 Error code `FODT0006` is retained but reserved only for reporting when the value of `hours` is 24. This is the only rule that applies to a valid combination of components, that diverges from the existing rules for the date/time constructors.

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

PR #2595: DM edits on XML Schema data types

Pull request #2595 by Arithmeticus.

Edits here were motivated by several points that caused me confusion tonight: - 4.1.2 and 4.1.5 had duplicate text, an indication that they belong next to each other. - In 4.1.2 there were no pointers to the definitions of the datatypes discussed. - The fifth bullet point in 4.1.2 is not a schema type (which is the topic of the unordered list). The material belongs outside the list. - The fifth bullet point claims that XDM defines two data types, but it doesn't. And it doesn't mention another data type discussed in predefined data types. - There is a long discussion of `xs:error` in the XPath specs, but the reader of this section has no clue on where `xs:error` is defined or explained. Etc. I suspect my draft here still has problems, but I hope it's an improvement.

Changed files
  • specifications/xpath-datamodel-40/src/xpath-datamodel.xml

PR #2589: 2587 Streamability of context value expressions

Pull request #2589 by michaelhkay.

Defines streamability rules for new 4.0 constructs impacted by the generalisation of context item to context value. Fix #2587

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

PR #2566: 1979 Records with type annotations

Pull request #2566 by michaelhkay.

First cut for review: the PR probably needs further passes before it is ready for acceptance. We introduce the idea of records, being maps that have a type annotation which is a specific record type. A map acquires the type annotation when it is coerced to the record type. A map that has a record type annotation (a "record") throws a type error if map:get() (or a lookup expression) requests a key that is not one of the declared field names for that type. The type error can be raised statically. map:put() applied to a record is constrained to produce a record with the same type annotation. (I've no objection to the "with" operator for this, but that can be done separately.) Optional fields in record types are dropped; in a record, there is no distinction between an absent field and a field whose value is the empty sequence. There is no longer any need for this distinction, and eliminating it simplifies things a lot. (But we will need to decide whether to treat the fields as present or absent when serialising to JSON). Fix #1979 Fix #2537

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/ebnf.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
  • specifications/xslt-xquery-serialization-40/src/xslt-xquery-serialization.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 #2160: 2073 data model changes for JNodes and Sequences

Pull request #2160 by michaelhkay.

This is a first draft of a PR, giving the data model changes only, for a change to the JNode model affecting maps and arrays with sequence-valued entries. A sequence of length 2 or more now has children representing the items in the sequence. Although there is still an asymmetry between sequences of length 1 and longer sequences, it is more manageable than i the previous model.

Changed files
  • specifications/xpath-datamodel-40/src/xpath-datamodel.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

PR #2019: 1776: XSLT template rules for maps and array

Pull request #2019 by michaelhkay.

Currently work In progress, committed so that the draft can be reviewed. Changes in three main areas: - Pattern syntax: patterns such as `?item` and `?parent?item` are defined to match items in a map by their key - Built-in template rules for on-no-match="shallow-copy-all". Revisits the built in template rules for this scenario. - General revision of the processing model for xsl:apply-templates applied to a tree of maps and arrays.

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