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 #2457: Improved use of fos:result
Pull request #2457 by michaelhkay.
Changes the main function catalog to make improved use of the fos:result element. Specifically: * Uses fos:error-result for error examples * Makes greater use of explicit results rather than narrative results where possible * Uses fos:result narrative="true" to get auto-checking of examples having no definitive result, and improved rendition.
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2456: Stylesheet handling of fos:result/@narrative
Pull request #2456 by michaelhkay.
Following a schema change that allows the function catalog to contain code examples annotated `<fos:result narrative="true">`, this PR makes stylesheet changes allowing such examples to be rendered. - In generating the specification documents, narrative results are simply rendered as prose, without containing `<code>` tags - In generating the QT4 tests, the generated test case ensures that the example can be successfully compiled and run, but the test always succeeds so long as the result is not a static or dynamic error.
Changed files
- specifications/xpath-functions-40/style/generate-qt3-test-set.xsl
- specifications/xpath-functions-40/style/merge-function-specs.xsl
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2446: 2427 Add computed node constructors to XPath
Pull request #2446 by michaelhkay.
Fix #2427
Changed files
- specifications/grammar-40/xpath-grammar.xml
- specifications/xquery-40/src/errors.xml
- specifications/xquery-40/src/expressions.xml
- specifications/xslt-40/src/xslt.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2345: 2299 Expand pipeline to allow arrow expression in path expression
Pull request #2345 by ruv.
Fix #2299 Supersedes PR #2309 Allow an arrow expression in a path expression (and, by implication, in a simple map expression): ```xquery $x => B() / foo ! bar => C() ! baz / quz ``` This implementation does not change the relative precedence of `/` and `!`. --- In this implementation we divide `UnaryExpr` to `SignedUnaryExpr` (always with a leading unary sign) and `UnsignedUnaryExpr` (always without a leading unary sign). And the new feature is supported only in the latter case, since in the former case we cannot avoid ambiguity: - an expression `- aaa => B() / ccc => D()` can be parsed both: - as `(- aaa ) => B() / ccc => D()` - and as `- ( aaa => B() / ccc ) => D()` - because `aaa => B() ` is the left-hand side operand of `/`; see also a [comment](https://github.com/qt4cg/qtspecs/issues/2299#issuecomment-3544885512).
Changed files
- specifications/grammar-40/xpath-grammar.xml
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2313: 2298 XQFO rules: definition of default values
Pull request #2313 by ChristianGruen.
@michaelhkay I have decided to create this PR, even if we are still discussing its necessity. I hope it clarifies where I see the need for unifications in the current presentation. In general, it follows the proposal that I developed in my thoughts in #2298. In particular, it fixes various small inconsistencies in the prose. I have stumbled upon related editorial issues that I haven’t worked at yet: [1.6 Function calls](https://qt4cg.org/specifications/xpath-functions-40/Overview.html#id-function-calls) is outdated, for example the `fn:function-name` (which could be confused with the actually existing function with the same name) should have an optional parameter. Next, the text talks about “two signatures of `fn:string`”; and it is not clear why the “zero or one values” and “zero or more values” cases are presented in more detail, whereas “one or more” is missing. The reason is probably simple: It seems to stem back to version 3.1. Closes #2298
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)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2266: 540 system-property equivalent for XQuery
Pull request #2266 by michaelhkay.
Meets the requirement by adding magic environment variable names to fn:environment-variables.
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 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)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)
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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- XML Path Language (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 and XQuery Serialization 4.0 (DeltaXignia diff)