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 #2768: 2740 Drop constructor functions from built-in records
Pull request #2768 by ChristianGruen.
This PR drops constructor functions for built-in record types. My rationale: 1. We avoid a bunch of rarely-used functions that would mostly go unnoticed anyway. If keeps the `fn:` namespace clean. 2. We don’t have to deal with a broken argument order (some records list optional fields before required ones). 3. Records can be built with a simple map. If required, coercion is available to turn them into the record. If we want to keep the constructor functions, we should add at least one example how to benefit from them. Closes #2740
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/xslt-40/src/xslt.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2767: 2750 Make fn:unparsed-text, ... nondeterministic
Pull request #2767 by ChristianGruen.
The changes are trivial, but we need to decide whether we want to make a function nondeterministic that has been deterministic so far (at least officially… I don’t know how many processors complied to this rule without exceptions). Closes #2750
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2766: 2765 Destructuring let: records, array fix
Pull request #2766 by ChristianGruen.
Closes #2765
Changed files
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2764: 2763 Folds: document possibility of early exiting
Pull request #2764 by ChristianGruen.
Closes #2763
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2761: 2758 Add rules for visibility of named types across packages
Pull request #2761 by michaelhkay.
Changed files
- specifications/xslt-40/src/xslt.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
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` and `fn:unparsed-text`. 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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2759: 1506 Type declarations: Constructor functions
Pull request #2759 by ChristianGruen.
[NEW] This PR originally introduced constructor functions for type declarations, restricted to enums and atomic types (see below). As it turned out, the feature already existed in the spec (which also explains the existing test case). My confusion was caused by the fact that we closed #1506 without further notice, and that this was not mentioned in the *Item Type Declarations* section. Next, its note claims that item type names never need to be retained at execution time, which contradicts the constructor functions. The PR tries to complete the picture, without changing the scope of the feature: * The section on item type declarations points to the existing constructor function rules. * Annotations rules/arity overlap have been added, they seemed to be missing. * A note has been corrected. → And we definitely need more test cases (indicated, for now, with the »Tests Needed« label). I will do my best soon. ------------- [OLD] This PR introduces constructor functions for type declarations – a feature for which, surprisingly, we already have a test case, [itemTypeDecl-026](https://github.com/qt4cg/qt4tests/blob/c0183a06487621e5f218b2e44f69acd02b39a8a4/prod/ItemTypeDecl.xml#L381-L394)… (we certainly need more) I decided to restrict the creation of constructor functions to declarations of enums and atomic types, for the following reasons mainly: * We avoid different semantics for `record` and `type ... as record` declarations. * Functions (incl. maps & arrays) can’t be built from a value; it would basically be a simulation of `instance of`/`treat as`. * Unions and choices are non-trivial: for `declare type n as (xs:double | xs:decimal)`, `n(1.5)` the result depends on the order in which the type was written, which is easy to get wrong.
Changed files
- specifications/xquery-40/src/query-prolog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2757: 2569 Rules for unprefixed function calls with explicit default function ns
Pull request #2757 by ChristianGruen.
After further reflection, I have chosen to have three states: * The no-namespace-first search exists for one simple reason: without any declaration, the default function namespace is the reserved `fn:` namespace, where users cannot declare functions. * This means that the search is the only way to make unprefixed calls to user-defined functions work. * Once a default function namespace is explicitly declared, that reason disappears: users can declare functions there. * I believe the declaration should simply mean what it says: unprefixed calls go to the declared namespace and are not silently redirected by some no-namespace function that happens to exist. The implementation is straightforward, and the proposed solution goes hand in hand with #2257. Closes #2569
Changed files
- specifications/xquery-40/src/back-matter.xml
- specifications/xquery-40/src/expressions.xml
- specifications/xquery-40/src/query-prolog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2756: 2705 fn:element-to-map-plan: numeric types
Pull request #2756 by ChristianGruen.
I hope the updated pseudo code is correct. I’d be happy to drop it. Closes #2705
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2755: 2620 fn:unparsed-text: editorial issues
Pull request #2755 by ChristianGruen.
Cleanups (`fn:unparsed-text` was streamlined). Mostly editorial, but we’ll need some more tests here (with or without this PR). Closes #2620
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)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2754: 2284 fn:csv-doc, fn:json-doc: Equivalent code, unifications
Pull request #2754 by ChristianGruen.
Editorial, and overdue: Ensures that the `-doc` functions use the same rules. Closes #2284
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2753: 2300 fn:doc: determinism rules
Pull request #2753 by ChristianGruen.
I have chosen a rather minimal approach, by making more explicit for this specific function when the function is (non)deterministic. The result could possibly change when we #1459, but for now this PR will make the rules correct. Closes #2300
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2752: 1697 Add documentary names to callback function signatures
Pull request #2752 by ChristianGruen.
Summary: * All function parameters are now decorated with documentary variables. * The variables are rendered in a grey/gray/grau color, to indicate that they are not assignable. * In various places (certainly not everywhere) I have changed the function prose to reference the variables. * For callback functions I have (finally) added a section to explain what the `$pos` parameters are about, and that they can be omitted. * The variables in function parameters in record definitions now consistently use a single character (for example: `$s as xs:string, $replacement as ...` → `$s as xs:string, $r as ...`). * Minor consistency tweaks (use `function() → fn()` everywhere) and fixes. It seems that no changes were needed for the EXPath functions. Feedback is welcome! Closes #1697
Changed files
- specifications/css/xpath-functions-40.css
- specifications/xpath-functions-40/src/function-catalog.xml
- specifications/xpath-functions-40/src/xpath-functions.xml
- specifications/xpath-functions-40/style/xpath-functions.xsl
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2751: 2674 Editorial Omnibus
Pull request #2751 by michaelhkay.
Fix #2674
Changed files
- specifications/EXPath/binary/src/binary-functions.xml
- specifications/EXPath/binary/src/function-catalog.xml
- specifications/EXPath/style/expath-functions.xsl
- 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/back-matter.xml
- specifications/xquery-40/src/ebnf.xml
- specifications/xquery-40/src/errors.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
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2747: 2591 Grammar: make step?lookup valid
Pull request #2747 by ChristianGruen.
Closes #2591
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)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2746: 2745 CSV parsing: delimiters
Pull request #2746 by ChristianGruen.
Closes #2745
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)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2744: 2741 Record coercion: keep empty entries
Pull request #2744 by ChristianGruen.
Closes #2741
Changed files
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2739: 2738 XSLT - tree terminology
Pull request #2739 by michaelhkay.
Fix #2738 Gently improves the introductory sections of the XSLT spec to better reflect the introduction of JTrees and JNodes. It could do with a more radical overhaul but this is a step in the right direction.
Changed files
- specifications/xslt-40/src/xslt.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2734: 2733 A step too far
Pull request #2734 by michaelhkay.
Fix #2733 Changes the rules for the path operator `E1/E2` where E1 selects JNode and E2 evaluates to an atomic value. This now performs context-based mapping, in the normal style for "/", except in the case where E2 is a literal or variable reference, in which case it expands to `E1/child::{E2}`.
Changed files
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2731: 2709 Well-formed sub-documents (2nd attempt)
Pull request #2731 by michaelhkay.
Fix #2709 (at least in part...) In most of the parts making up the XPath and XQuery spec (with the exceptions of front and back matter), I have made the document well-formed by (a) adding a wrapper `fascicle` element where necessary (and declaring this in the DTD), and (b) eliminating external entity and character references that depend on the internal DTD subset. The `&language;` entity reference is replaced by the processing instruction `<?inject language?>` I have modified the assemble-specs stylesheet to: - shallow-skip the `fascicle` element - expand the `<?inject?>` processing instruction
Changed files
- schema/xmlspec.dtd
- specifications/xquery-40/src/back-matter.xml
- specifications/xquery-40/src/expressions.xml
- specifications/xquery-40/src/introduction.xml
- specifications/xquery-40/src/query-prolog.xml
- style/assemble-spec.xsl
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2719: 1234 Serialization Parameters: Indentation, Whitespace, Newlines
Pull request #2719 by ChristianGruen.
Closes #1234
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- specifications/xquery-40/src/back-matter.xml
- specifications/xquery-40/src/query-prolog.xml
- specifications/xslt-40/src/element-catalog.xml
- specifications/xslt-40/src/schema-for-xslt40.rnc
- specifications/xslt-40/src/schema-for-xslt40.xsd
- specifications/xslt-40/src/xslt.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)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2717: 2660 fn:matching-segments: named capture groups
Pull request #2717 by ChristianGruen.
If someone has time for a review: I definitely need feedback on the XSLT part, or someone who is willing to complete my edits. Closes #2660
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- specifications/xpath-functions-40/src/xpath-functions.xml
- 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)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2715: 2653 FLWOR, member/key/value clauses: allow sequences
Pull request #2715 by ChristianGruen.
Closes #2653
Changed files
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2714: 2219 Generalize method calls to sequences
Pull request #2714 by ChristianGruen.
Closes #2219
Changed files
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2713: 2257 Record declarations without namespace
Pull request #2713 by ChristianGruen.
This solution aims to provide a solution for the vast majority of use cases where the default function and element namespaces remain untouched, and where people write simple one-file scripts. I think I have found a good compromise: * Unprefixed records are allowed: `declare record coord(x, y); coord(1, 3)` * Name keeps the default-type-namespace rule; drops "must be in some namespace." * No default element namespace → record and constructor in no namespace; unprefixed call resolves via no-namespace-first * Default element namespace → call constructor prefixed Closes #2257
Changed files
- specifications/xquery-40/src/expressions.xml
- specifications/xquery-40/src/query-prolog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2712: 2702 Dynamic node tests
Pull request #2712 by michaelhkay.
Fix #2702 1. Introduces a name for "dynamic node tests" with a production in the grammar 2. Changes the rules so the enclosed expression is evaluated with an absent focus 3. Corrects the "formal equivalent" to match the prose.
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)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2707: 1962 fn:map-to-element
Pull request #2707 by ChristianGruen.
It repeatedly bothered me that we have no reverse counterpart for `fn:element-to-map`, so I finally pulled myself together and wrote a PR for `fn:map-to-element`. All feedback is much appreciated. While I’m quite confident about the defined rules, I would mostly be interested in grammatical/stylistic advise. Closes #1962
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)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2706: 2704 change path() output for JNodes
Pull request #2706 by michaelhkay.
Fix #2704 - use up-to-date XPath syntax in the output of fn:path applied to a JNode Fix #2464 - define how to use the output of fn:path to select nodes in another document
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2698: 2641 Support comments in csv
Pull request #2698 by djbpitt.
Modified `parse-csv()` and `csv-to-arrays()` to add support for comments.
Changed files
- specifications/xpath-functions-40/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2696: 2695 Apply templates to maps, arrays, and JNodes
Pull request #2696 by michaelhkay.
Fix #2695
Changed files
- specifications/xslt-40/src/xslt.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2649: 2647 file:descendants: recursion, filtering
Pull request #2649 by ChristianGruen.
Closes #2647
Changed files
- specifications/EXPath/file/src/function-catalog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2638: 2632-6: cross-cutting consistency (automatically generated & reviewed)
Pull request #2638 by ChristianGruen.
ebnf.xml: * missing trailing period on two list items (A* and the right-to-left precedence note) — neighbouring items end with periods * leading space inside <nt def="EnclosedExpr"> EnclosedExprs</nt> * missing space between </code> and "(as in <element/>)" for two direct-element-constructor pattern examples conformance.xml: * EXPath Binary and File library sections used <rfc2119>Must</rfc2119>, <rfc2119>Must not</rfc2119>, <rfc2119>May</rfc2119> with title-case variants; the rest of the file uses the <termref def="must">MUST</termref> / def="mustnot" / def="may" pattern. Normalise the EXPath sections to the termref form * <termref def="must" >MUST</termref> had a stray space before ">" * empty self-closing <termref def="dt-implementation-defined"/> got display text "implementation-defined" to match the surrounding form back-matter.xml: * "statically-known collations" -> "statically known collations" (hyphenless form used by every other occurrence in the corpus) * dynamic-context table: six "<td>None</td>" cells got trailing periods to match the periods used in the other rows * static-context table: one "Must be consistent with ..." cell was missing its trailing period * fn:compare-summary: "fn:atomic-equal" was tagged `<code>`, all surrounding function names use `<function>`; normalise expressions.xml: * termdef term="XPath 1.0 compatibility mode" — collapse the five-space block in the @term attribute (significant when terms are matched as strings) * one doubled space ("XPath 3.1 as a subset") * singleton-focus termdef ended with "</termdef>." — drop the redundant trailing period (sentence already ends inside the termdef) * <termref def="dt-binding-sequence">binding collection</termref> — def and display text disagreed; this is the in-the-for-clause "binding collection" case, so def is now dt-binding-collection (which is the existing termdef) Issue: #2632
Changed files
- specifications/xquery-40/src/back-matter.xml
- specifications/xquery-40/src/conformance.xml
- specifications/xquery-40/src/ebnf.xml
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2637: 2632-5: refresh stale 4.0 content (automatically generated & reviewed)
Pull request #2637 by ChristianGruen.
xpath.xml: * customized-paragraph: "XPath version 4.1" -> "4.0" * doc.w3c-prev-designation: was "REC-&doc.shortname;" which expands to "REC-xpath-40" (the current designation); fix to "REC-xpath-31" * Bugzilla-key: "XPath31" -> "XPath40" xquery.xml: * customized-paragraph: still announced "XQuery version 3.1, a fully compatible extension of XQuery 3.0"; update to 4.0 / 3.1 * doc.w3c-prev-designation: as above, fix to "REC-xquery-31" * Bugzilla-key: "XQuery31" -> "XQuery40" * PR-entrance-criteria mentioned "human-readable syntax" and "XML syntax" (the XQueryX flavour). XQueryX is no longer maintained in 4.0 (introduction.xml 98-99); drop the syntax-specific criteria so the paragraph just requires two independent implementations of Minimal Conformance and of each optional feature xpath-backwards-compat.xml: * "In XPath 3.0 all these comparisons are type errors" -> "In XPath 4.0" (parallels the surrounding "not allowed in XPath 4.0" wording) * drop the paragraph about "an XPath 4.0 implementation that provides the static typing feature": the static-typing feature was dropped from 4.0 (conformance.xml 9-11), so this paragraph no longer describes any conforming implementation mime-type.xml: * "specifies the media type for XQuery Version 1.0" -> "XQuery 4.0" * "defines the language XQuery Version 1.0" -> "XQuery 4.0" * allowed `xquery version` literal list: add "4.0" alongside "1.0"/"3.0"/"3.1" Issue: #2632
Changed files
- specifications/xquery-40/src/mime-type.xml
- specifications/xquery-40/src/xpath-backwards-compat.xml
- specifications/xquery-40/src/xpath.xml
- specifications/xquery-40/src/xquery.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2636: 2632-4: logic and semantics (automatically generated & reviewed)
Pull request #2636 by ChristianGruen.
query-prolog.xml: * XQST0098 description: inverted polarity — "the properties identifying marker characters ... do identify distinct values" should be "do not" * module-import termdef: cumulative not alternative ("or" -> "and") in the list of context components imported (in-scope variables, in-scope item types, ...). Same in the "If module A imports module B" paragraph. * "enabling the definitions in the imported namespace" -> "imported schema" (the imported schema has no target namespace at this point) * duplicate sentence "If the system log is in a different location, ..." in the context-value example removed; also "which is collection" -> "is a" * library-module namespace constraint now applies only to *public* variables and functions (private names may be in any namespace since the 2025-04-24 changes — the matching change is already reflected at the specific rules for variables (1318) and functions (1785-1788)) expressions.xml: * attribute axis: "empty unless the context node is an element" -> "empty unless the origin is an element" — matches the rest of the section which speaks of "origin" * forward/reverse axis: mixed "origin" / "context node"; standardised on "origin" (the surrounding paragraphs use that term consistently) * coercion table note: "unless either there is only one node" — drop the stranded "either" * "The subtype relationship is not acyclic" -> "is not antisymmetric" (the following sentences describe an antisymmetry failure, not a cycle) * subtype example: missing parens around the right-hand alternative "document-node(a|b) ⊆ (document-node(a) | document-node(b))", matching the equivalent examples for elements and attributes * element-test examples list: "element(title|heading, xs:string) ⊆ element(*)" was listed twice (lines 7244 and 7247); drop the duplicate * AnyFunctionType: "The keywords function and fn are synonymous" was both in prose (5793) and a note (5818); drop the redundant note * fn:count#1 instance-of example: a stranded note about "fn($x as xs:int, $y as xs:int) as xs:int" referred to a 2-arity signature in a 1-arity example; remove * attribute subtype rule: "attribute(Bn)" -> "attribute(<var>B/n</var>)" matching the surrounding var-style notation * text node constructors: two near-identical notes about constructing zero-length text nodes; keep the more complete one * try/catch: target expression / content expression were used interchangeably for the same thing; standardise on "content expression" (the defined term) errors.xml: * XQST0048 description aligned with the more specific rules: scope is *public* function/variable and item type, not any function/variable back-matter.xml: * numeric comparability list: xs:double was missing from "xs:integer, xs:decimal, or xs:float are mutually comparable"; the next sentence ("both operands are converted to xs:decimal ... sufficient precision for the xs:double value space") only made sense with xs:double included * sort-functions list paragraph: opening "(" never closed before "are ultimately defined ..." * dynamic-context table: - "Current date and time" -> "Current dateTime" (matches the XQuery side and the dt-date-time term) - "Available node collections" -> "Available collections" (matches the XQuery side and the function name "fn:collection") Issue: #2632
Changed files
- specifications/xquery-40/src/back-matter.xml
- specifications/xquery-40/src/errors.xml
- specifications/xquery-40/src/expressions.xml
- specifications/xquery-40/src/query-prolog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2635: 2632-3: typos and grammar (automatically generated & reviewed)
Pull request #2635 by ChristianGruen.
expressions.xml: * "Universal Resource Identifier" -> "Uniform" (per RFC 3986) * "an unprefixed name used appearing" -> drop "used" * "ten character" -> "ten characters" (plural) * "These means" -> "This means" * "partial applying" -> "partially applying" * "is `$Z` arguments, is obtained" -> "is `$Z`, is obtained" * "attribute(*, xs:integer)selects" -> add missing space * "type type tests" -> drop doubled "type" * "(//a)[1] selects the a element" -> add "first" * "language design for querying" -> "designed" * "Because the fn:jtree creates" -> "fn:jtree function creates" * "wheras" -> "whereas" * "an sequence" -> "a sequence" * "This is the output of the above function :" -> drop space before colon (3x) * "because it is has no namespace binding" -> drop "is" * "an named item type" -> "a named" * constructor exclusion list: drop the second "and" and align order with the matching list in the cast section * "is it is interpreted" -> drop doubled "is it" * "summarizes the differences between these two operators" -> add colon * "static and dynamic functions calls" -> "function calls" * "arithemetic" -> "arithmetic" * "be the present" -> "be present" * "may also occur XQuery" -> "may also occur in XQuery" * "is is a static error" -> "is a" * "following following expressions" -> drop doubled "following" * "typed defined" -> "types defined" * "union typed declared" -> "union type declared" * "noticably" -> "noticeably" * "its datum not within" -> "its datum is not within" * `xs:positive-integer` -> `xs:positiveInteger` (example head and body) * ChoiceItemType: "it if matches" -> "if it matches" * "an enumerated set of xs:strings" -> "an enumerated set of xs:string values" * "or if unprefixed, the / is interpreted" -> "or, if unprefixed, the name is interpreted" * "A is an singleton enumeration type" -> "a singleton" (term starts with /s/) * missing commas in function list and missing space in "import schemain" * "(see FunctionDeclns.)" -> "(see FunctionDeclns)." * "of the language. without" -> "of the language, without" * stray '"' after </code> in IDREFS example ebnf.xml: * head "Lexical structure" -> "Lexical Structure" * "does not quality" -> "qualify" errors.xml: * "(as defined by the eq operator.)" -> "operator)." (twice) query-prolog.xml: * "Implementions" -> "Implementations" * "variable or functions names" -> "function names" * "an unprefixed name used appearing" -> drop "used" * "another variable in in-scope variables" -> "in the in-scope variables" * "refered" -> "referred" * "in which altitude entry may be absent" -> "the altitude entry" * "and and all options" -> drop doubled "and" * `"fixed",` -> `"fixed"` (drop stray comma, twice) * "It is an static error" -> "a static error" * "Static Base URI property" -> "the Static Base URI property" * "(for example, schema-attribute(xml:space)," -> close the parenthesis * "can not import" -> "cannot import" (three occurrences) * "in / in this section" -> drop the doubled fragment * "may provide mechanism" -> "may provide a mechanism" back-matter.xml: * "( (which adds constructor functions" -> single opening paren * "can returned to" -> "can be returned to" * "Comparisons ... lacking a timezone uses" -> "use" * "in the following sections" -> add trailing period * "if any.)" -> "if any)." (period outside parenthesis) conformance.xml: * "attributes node types" -> "attribute node types" * "a XQuery expression" -> "an XQuery expression" introduction.xml: * "Javascript" -> "JavaScript" Issue: #2632
Changed files
- specifications/xquery-40/src/back-matter.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/introduction.xml
- specifications/xquery-40/src/query-prolog.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2634: 2632-2: fix broken examples in expressions.xml (automatically generated & reviewed)
Pull request #2634 by ChristianGruen.
Path expressions: * fn:siblings example: stray closing parenthesis * "##any" example: unbalanced quote and extra "the" SequenceType / records: * "$M instance of map(xs:integer, xs:token))": extra closing paren * t:flatten recursion example: extra closing paren * "declare record t:tree as (...)": drop "as" (not part of record syntax) Sequence example: * "$x = (1 to 5) ! . * 0.1" returning (0, 0.1, 0.2, 0.3, 0.5): both the expression (had stray "$x =") and the claimed result were wrong; fixed to "(1 to 5) ! . * 0.1" yielding (0.1, 0.2, 0.3, 0.4, 0.5) Element / attribute constructors: * five occurrences of doubled "http://http://" in Q{...} URIs * attribute-value normalisation example: claimed "[1 5 6 7 9]" but with the literal " [ " / " ] " in the source the value is "[ 1 5 6 7 9 ]" Computed PI constructor: * `let $target := "audio-output", return ...`: stray comma made the example unparseable despite role="parse-test" FLWOR: * tuple-stream example missing closing parenthesis "($x = (5, 6, 7, 8, 9, 10)" * "for $x at $i in [1 to 3, ...]" with array-member tuple output: requires the "member" keyword (without it the array is a single item) * nested-array example "[[$x+1, $x+2], [[$x+3, $x+4]] ]": extra "[" "]" around the second pair * chess example: "return [$m1, $m2], local:grouped-moves($rest)" placed the recursive call outside the FLWOR (where $rest is not in scope); also fixed the matching prose * JSON-style array literal also corrected * group-by example used $product instead of the bound $p * note about workarounds said "using fn:sort" but used fn:sort-by Maps and arrays: * array lookup paragraph mixed $index and $key * postfix lookup example "$map?name" vs "map?\"name\"": missing leading "$" * let-destructure expansion: three array:get calls were inconsistently 2-arg vs. 3-arg; align with the 2-arg form in the prose definition Window expression: * description "starting with a number divisible by 3" did not match the predicate "$first mod 3 = 2"; reword to "remainder 2 when divided by 3" Other: * group-by "Men's Wear" example: typographic vs. ASCII apostrophe mismatch; prose keeps typographic “Men’s Wear”, both <eg> blocks use ASCII * trailing comma in JSON array example * role="parsetest" -> role="parse-test" on one arrow-operator example * cast example "cast $x as enum(...)" used wrong keyword order * mapping-arrow rewrite used "=>" instead of "=!>"; also wrap U in <var> Issue: #2632
Changed files
- specifications/xquery-40/src/expressions.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2633: 2632-1: fix critical bugs and DTD-validity issues (automatically generated & reviewed)
Pull request #2633 by ChristianGruen.
* ns-local.xml, ns-xquery.xml: undefined entity &spec.ver; -> &xq.spec.ver; * ns-xquery.xml: duplicate xml:id "features"; rename first to "annotations" (already referenced as #id-annotations via xlink:href) * errors.xml XQDY0044: insert missing "if"; fix doubled space in attribute list * errors.xml: second XQST0089 entry was actually XPST0089 (role="xpath"); change spec attribute from "XQ" to "XP" * errors.xml XPTY0117: remove self-referential <errorref> * expressions.xml: dt-is-attrs -> dt-is-elems in the NameTestUnion paragraph * expressions.xml DefaultElementNamespaceDecl: align display text with def * expressions.xml: attribute-test example accidentally used "element(...)" * expressions.xml: occurrence-indicator cardinalities for ?, * were wrong (had "zero or more"/"one or more"; correct: "zero or one"/"zero or more") * expressions.xml: unbalanced parentheses in the /PP and //PP expansions * expressions.xml: FOAR0001 ("division by zero") -> FOAY0001 ("out of bounds") for the array:get out-of-range note; spec also changed from "FO" to "FO40" * ebnf.xml: ElementNodeType <nt> was self-closing without display text * ebnf.xml: TypeTest <nt> display text said "NodeKindTests" (stale name) * ebnf.xml: unclosed parenthesis after "XMLNAMES11" Issue: #2632
Changed files
- specifications/xquery-40/src/ebnf.xml
- specifications/xquery-40/src/errors.xml
- specifications/xquery-40/src/expressions.xml
- specifications/xquery-40/src/ns-local.xml
- specifications/xquery-40/src/ns-xquery.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming Version 4.0 (DeltaXignia diff)
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)
PR #2594: 2389 Adaptive Serialization: more freedom
Pull request #2594 by ChristianGruen.
Closes #2389
Changed files
- specifications/xslt-xquery-serialization-40/src/xslt-xquery-serialization.xml
- EXPath Binary Module 4.0 (DeltaXignia diff)
- EXPath File Module 4.0 (DeltaXignia diff)
- 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 Streaming 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)
- 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 Streaming Version 4.0
- 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)
- 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 Streaming 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)
- 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 Streaming Version 4.0
- 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)
- 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 Streaming Version 4.0
- XSLT and XQuery Serialization 4.0 (DeltaXignia diff)