@qt4cg statuses
This page displays recent status updates about the QT4CG project.
The are also captured in an RSS feed.
By year: 2026, 2025, 2024, 2023, 2022, 2021, 2020
QT4 CG meeting 167 draft agenda #agenda-06-02
Draft agenda published.
Issue #2672 created #created-2672
Debugging FLWOR expressions
I want to revive Mike’s idea of introducing a trace clause (#111):
Despite the recent spec including fn:message, it remains cumbersome to output intermediate results or provide progress information inside FLWOR expressions. I think that a message clause with one expression and an optional label expression…
for $item in //items
message $item/@id, 'ID: '
return string($item)
…would be a good drop-in replacement for clumsy temporary let clauses…
for $item in //items
let $_ := message($item/@id, 'ID: ')
return string($item)
The clause would be evaluated once for every tuple reaching that clause. It seems sensible to me to stick with the value/label structure, as existing trace code can build on it without further changes.
Since the evaluated value is swallowed, I have chosen message as keyword, but trace may work similarly well.
PS: I promise I’ll hold off on sharing new ideas for the upcoming weeks…
Pull request #2671 created #created-2671
2668 Drop number-parser option of json-to-xml
Fix #2668
Pull request #2670 created #created-2670
2669 Add option to ignore empty entries when comparing maps
Fix #2669
Issue #2669 created #created-2669
deep-equal() - option to treat empty map entry as absent map entry
Given the debates we've been having about empty entries in a record versus absent entries, it would be useful to have an option on the deep-equal function to treat these as equivalent.
Perhaps "empty-as-absent" - treats map entries whose value is an empty sequence as if the entry were absent. Default false.
QT4 CG meeting 166 draft minutes #minutes-05-26
Draft minutes published.
Issue #2659 closed #closed-2659
Binary Module: `bin:count-ones` for counting bits (population)
Issue #2662 closed #closed-2662
2659 bin:count-ones, bin:rotate, bin:is-bit-set, bin:sets-bits
Issue #2617 closed #closed-2617
Duration multiplied or divided by numeric
Issue #2628 closed #closed-2628
2617 Duration multiplied or divided by number
Issue #2642 closed #closed-2642
Allow xsl:analyze-string to use the results of fn:regex
Issue #2646 closed #closed-2646
2642 Add compiled-regex attribute to xsl:analyze-string
Issue #2654 closed #closed-2654
2652 Clarify lax validation
Issue #2651 closed #closed-2651
Editorial, for/let: range variables
Issue #2656 closed #closed-2656
2651 Use termdefs for range variables
Issue #2655 closed #closed-2655
`fn:matching-segments`: empty input
Issue #2658 closed #closed-2658
2655b matching segments empty
Issue #2663 closed #closed-2663
Use standard coercion rules for the name expression in a computed node constructor
Issue #2665 closed #closed-2665
2663 Change computed node constructors to use standard coercion rules
Issue #2661 closed #closed-2661
In element-to-map(), provide an option to substitute a different string for "#content"
Issue #2666 closed #closed-2666
2661 Add content-key option for fn:element-to-map
Issue #2565 closed #closed-2565
`fn:dateTime-record`
Issue #2645 closed #closed-2645
2565 Absent-vs-Empty fields in dateTime-record
Issue #2631 closed #closed-2631
Drop scan-left and scan-right
Issue #2643 closed #closed-2643
2631 Drop scan-left and scan-right
Issue #2648 closed #closed-2648
File Module: editorial notes
Issue #2650 closed #closed-2650
2648 File Module: editorial notes
Issue #2668 created #created-2668
`fn:json-to-xml`: drop `number-parser` option
In the past, the number-parser option was added to fn:parse-json and fn:json-to-xml. It has been removed from fn:parse-json again (and replaced by number-format), and I think we should also remove it from fn:json-to-xml:
- In the XML representation, the original JSON representation is adopted 1:1, so the result will be lossless (which is why
number-formatwas not introduced for this function). If really needed, it can be changed in a post-processing step. - It seems much too specific to me, and we don’t have corresponding parser functions for other data types (null, booleans, etc.)
If we keep it, we should fix a typo (“convered”).
QT4 CG meeting 166 draft agenda #agenda-05-26
Draft agenda published.
Pull request #2667 created #created-2667
2458 replacement for get() selectors
Fix #2458
This proposal introduces two changes, which taken together, replace the use of get(expr) in axis steps.
For JNodes, with an expression E1/E2, if E1 selects JNodes and E2 selects atomic values, then the atomic values are matched against the jkey properties of the child JNodes.
More generally, axis::{expr} (for example descendant::{$name} selects nodes on the relevant axis whose name/jkey is equal to the result of evaluating expr.
See 5504 more statuses in yearly archives.