- From: Christian Grόn <cg@basex.org>
- Date: Wed, 13 Mar 2024 05:27:28 +0000
- To: Michael Kay <mike@saxonica.com>, "public-xslt-40@w3.org" <public-xslt-40@w3.org>
Thanks, those are helpful lists. Spontaneously Im missing Item Type Declarations fn:slice, array:slice How could we proceed next? Should we try to accept as many items as possible in the next meeting, or should we create separate GitHub issues and give them a higher priority than other issues? ________________________________________ Von: Michael Kay <mike@saxonica.com> Gesendet: Mittwoch, 13. Mδrz 2024 02:11 An: public-xslt-40@w3.org Betreff: Features requiring confirmation XPath Appendix J.1.1 anad XQuery L.1.1 list: A new with expression allows namespace bindings to be defined within an expression (and to be redefined in nested expressions). The rules for reporting type errors during static analysis have been changed so that a processor has more freedom to report errors in respect of constructs that are evidently wrong, such as @price/@value, even though dynamic evaluation is defined to return an empty sequence rather than an error. Record types are added as a new kind of ItemType, constraining the value space of maps. Local union types are added as a new kind of ItemType, constraining the value space of atomic values. Enumeration types are added as a new kind of ItemType, constraining the value space of strings. The lookup operator ? can now be followed by a string literal, for cases where map keys are strings other than NCNames. The rules for value comparisons when comparing values of different types (for example, decimal and double) have changed to be transitive. A decimal value is no longer converted to double, instead the double is converted to a decimal without loss of precision. This may affect compatibility in edge cases involving comparison of values that are numerically very close. A for member clause is added to FLWOR expressions to allow iteration over an array. F&O appendix F.1 lists: A number of functions are included in the draft specification but have not yet been reviewed or accepted: fn:stack-trace map:filter map:replace map:substitute array:replace XSLT I.1.1 further lists: Errata agreed against XSLT 3.0 have been applied. Support for XPath 4.0 and Functions and Operators 4.0 is required. This notably means that support for XDM arrays is now required. The xsl:if instruction acquires attributes then and else. The xsl:when and xsl:otherwise elements can be evaluated using a select expression rather than a contained sequence constructor. A new xsl:switch instruction is introduced. The xsl:item-type declaration allows names to be given to item types, which can then be referenced by name. This is particularly useful with record types, introduced in XPath 4.0. The default namespace for element names and the default namespace for types can now be different, allowing built-in types to be referenced in unprefixed form (as="integer"). The new instruction xsl:array allows the construction of arrays. New pattern syntax ( type(T), record(N, M, N)) allows matching of items by item type. The xsl:mode declaration acquires an attribute as="sequence-type" which declares the return type of all template rules in that mode. The xsl:for-each and xsl:apply-templates instructions acquire a separator attribute to allow separators to be inserted into the output. The xsl:map instruction acquires a new attribute on-duplicates. The xsl:function declaration allows parameters to be declared as optional, so a single xsl:functiondeclaration can declare functions with multiple arities. Enclosing modes: The xsl:mode declaration allows contained xsl:template declarations. Functions that accept a lexical QName as an argument, such as keyFO30, function-availableFO30, element-availableFO30, type-availableFO30, system-propertyFO30, accumulator-beforeFO30, and accumulator-afterFO30, now have the option of supplying an xs:QName value instead. A serialization parameter escape-solidus has been added, for use in JSON serialization.
Received on Wednesday, 13 March 2024 05:27:34 UTC