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 #2296: 2288 XSLT implicit document nodes
Pull request #2296 by michaelhkay.
1. Adds xsl:record, xsl:map-entry, xsl:array-member to the list of instructions that inhibit creating of an implicit document node. (It makes no sense to wrap an array or map in a document node) 2. Mentions the revised rules in places where one would expect it to be mentioned.
Changed files
- 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 #2295: 2294 Clarify semantics of `element(N, xs:anyType)`
Pull request #2295 by michaelhkay.
1. Corrects the statement that `element(N, T)` will only match a schema-validated element, which is not true if T is `xs:anyType` or `xs:untyped` 2. Adds notes and example, in both XPath and XSLT, to make clear the relationship between `element(N)`, `element(N, xs:anyType)`, and `element(N, xs:anyType?)`
Changed files
- 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 #2293: Updated RELAX NG grammar for XSLT 4.0 stylesheets
Pull request #2293 by ndw.
This is mostly a copy of #2290, translated into the RELAX NG grammar. I think the grammar still needs review, but I’m trying to keep it up-to-date with the XSD in the meantime.
Changed files
- specifications/xslt-40/src/schema-for-xslt40.rnc
- 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 #2290: Updated schema for XSLT 4.0 stylesheets
Pull request #2290 by michaelhkay.
Updated schema for XSLT 4.0 stylesheets (verified against the current test cases using test catalog-005). Changes include: xsl:record, xsl:array, xsl:select, @schema-role, mode/@copy-namespaces, EQName syntax, xsl:function/@name
Changed files
- specifications/xslt-40/src/schema-for-xslt40.xsd
- 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 #2289: 2195 (partial) Editorial notes (incremental)
Pull request #2289 by ChristianGruen.
This PR contains some more editorial changes. Notes: * I have revised the »Summary of Changes« to (hopefully) make it more clear which »arrows« the description refers to, and I have updated the icons. * I have corrected some code equivalencies in the Binary Module. The `bin:shift` equivalency (possibly others) still needs to be fixed).
Changed files
- specifications/EXPath/binary/src/binary-functions.xml
- specifications/EXPath/binary/src/function-catalog.xml
- specifications/EXPath/file/src/file-functions.xml
- specifications/js/toc.js
- 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/introduction.xml
- specifications/xslt-40/src/xslt.xml
- specifications/xslt-xquery-serialization-40/src/xslt-xquery-serialization.xml
- style/xsl-query-2016.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 #2286: 2279 fn:string-length#1, fn:normalize-space#1: accept xs:anyAtomicType
Pull request #2286 by ChristianGruen.
Closes #2279
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 #2285: 2198 Add pi-for-cdata parameter
Pull request #2285 by michaelhkay.
Fix #2198 Adds a new pi-for-cdata parameter allowing arbitrary addition of CDATA sections to serialized XML output, by outputting the relevant text as a processing instruction node with a chosen name. This PR contains the necessary changes to the serialization spec; I would like a go-ahead from the CG before doing the (somewhat mechanical) work to add the necessary changes to the other specs. I chose this approach in preference to the mooted `conditional-data-elements` approach because it is a lot more flexible. (Some badly written XML interfaces require precise control over CDATA generation: we might disapprove, but the requirement exists.)
Changed files
- 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)
- 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 #2283: 2276 Relax XSLT rules on Extension Attributes
Pull request #2283 by michaelhkay.
Changes the rule for extension attributes, instead of saying they MUST NOT cause non-conformant behaviour, we now say SHOULD NOT, and give examples where it might be appropriate to break this rule, e.g. for security. Also, extension attributes can now modify the behaviour of the serializer in any way they like. The PR also moves the section on Extension Attributes to a more logical place in the spec.
Changed files
- 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 #2282: 2278 Add function bin:infer-encoding; simplify bin:decode-string
Pull request #2282 by michaelhkay.
This PR separates the operation of examining a string to determine its encoding and the presence of a BOM, from the operation of decoding octets. The purpose is to simplify the decode-string function and to reduce complex interactions between its arguments, especially in cases where the BOM might be at the start of a message and the strings to be decoded at some later position. It also has a better chance of retaining compatibility with 1.0 implementations (though it's hard to guarantee that since 1.0 was underspecified).
Changed files
- specifications/EXPath/binary/src/binary-functions.xml
- specifications/EXPath/binary/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 #2281: 2280 Usability of xsl:array-member
Pull request #2281 by michaelhkay.
Fix #2280 This PR revises the spec of xsl:array and xsl:array-member in the light of experience writing test cases. The zero-arity function item constructed by `xsl:array-member` now carries a function annotation which means that it can be unambiguously recognized as having been so constructed. This allows better error checking and diagnostics, and it also allows `xsl:array` to be more tolerant of using `xsl:array-member` to create singleton array members in circumstances where it is not strictly required.
Changed files
- 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 #2274: 407 Function items capturing XSLT context components
Pull request #2274 by michaelhkay.
Fix #407
Changed files
- specifications/xslt-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)
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 #2259: 938 Canonical serialization
Pull request #2259 by Arithmeticus.
This represents a first draft to resolve issue #938 (and thereby slightly reduce our workload). Because both JSON and XML have canonical specifications, and there is nothing barring canonicalization being imposed upon other methods, I have opted to introduce the serialization parameter `canonical` as a boolean, rather than extend the number of method options. I had to make certain decisions in this first draft, worth discussing. * The CX1.1 specs permit a parameter on whether to keep comments or not -- I think the user should deal with that before trying to serialize. * I opted not to specify what happens for escape-solidus, use-character-maps, normalization-form and some other options, where user control may be desired. * When a JSON object has an XNode, and when canonical is yes, I think the current serialization parameters should propagate down to the sub-serialization process. * I think the normalization step I added to 4 Serialization may not be necessary, or incorrectly conceived. * I opted to avoid specifying exactly what changes should be made to the JSON or XML, deferring to the external specifications. In line with that, I attempted to treat canonicalization as an encapsulated postprocess that could be cleanly disentangled from all the other options involved in serialization. I've tried to make patches everywhere relevant, but I'm guessing there are places I've overlooked. Comments welcome.
Changed files
- etc/rfc.xml
- etc/tr.xml
- specifications/EXPath/binary/src/function-catalog.xml
- specifications/xpath-functions-40/src/function-catalog.xml
- specifications/xpath-functions-40/src/xpath-functions.xml
- specifications/xquery-40/src/conformance.xml
- specifications/xquery-40/src/ebnf.xml
- specifications/xquery-40/src/errors.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/bibl.xml
- specifications/xslt-xquery-serialization-40/src/errors.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)
- 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 #2256: 2216 All atomic types become ordered
Pull request #2256 by michaelhkay.
This is work in progress, pushing it mainly so I can review the diffs. The first benefit is that nearly all comparisons can now be described by reference to `compare(A, B) = 0`.
Changed files
- 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
- 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: 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
- 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
- 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 #2246: 2233 Expand xsl:analyze-string; introduce fn:regex-groups()
Pull request #2246 by michaelhkay.
Fix #2233
Changed files
- specifications/xpath-functions-40/src/analyze-string.xsd
- specifications/xslt-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)
PR #2213: 2047 External resources and security
Pull request #2213 by michaelhkay.
Fix #2047 This is a first draft of a PR that is intended to provide a framework for controlling the trust level for applications to access external resources. Although this is still at draft status, comments are solicited on the general approach.
Changed files
- 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/element-catalog.xml
- specifications/xslt-40/src/schema-for-xslt40.xsd
- 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 #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 #2124: 573 Functions to Construct Trees
Pull request #2124 by michaelhkay.
A first cut at providing a functional approach to XNode and XTree construction. At this stage I'm interested in comments on the general approach, not the fine detail (some of which, e.g. namespace inheritance, still needs work.)
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 #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)