@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

27 May at 15:40:00 GMT

Draft agenda published.

Issue #2672 created #created-2672

27 May at 14:42:01 GMT
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

27 May at 11:11:54 GMT
2668 Drop number-parser option of json-to-xml

Fix #2668

Pull request #2670 created #created-2670

27 May at 10:47:22 GMT
2669 Add option to ignore empty entries when comparing maps

Fix #2669

Issue #2669 created #created-2669

26 May at 19:50:50 GMT
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

26 May at 17:00:00 GMT

Draft minutes published.

Issue #2659 closed #closed-2659

26 May at 16:42:29 GMT

Binary Module: `bin:count-ones` for counting bits (population)

Issue #2662 closed #closed-2662

26 May at 16:42:28 GMT

2659 bin:count-ones, bin:rotate, bin:is-bit-set, bin:sets-bits

Issue #2617 closed #closed-2617

26 May at 16:39:15 GMT

Duration multiplied or divided by numeric

Issue #2628 closed #closed-2628

26 May at 16:39:14 GMT

2617 Duration multiplied or divided by number

Issue #2642 closed #closed-2642

26 May at 16:37:15 GMT

Allow xsl:analyze-string to use the results of fn:regex

Issue #2646 closed #closed-2646

26 May at 16:37:14 GMT

2642 Add compiled-regex attribute to xsl:analyze-string

Issue #2654 closed #closed-2654

26 May at 16:35:11 GMT

2652 Clarify lax validation

Issue #2651 closed #closed-2651

26 May at 16:33:01 GMT

Editorial, for/let: range variables

Issue #2656 closed #closed-2656

26 May at 16:32:59 GMT

2651 Use termdefs for range variables

Issue #2655 closed #closed-2655

26 May at 16:32:58 GMT

`fn:matching-segments`: empty input

Issue #2658 closed #closed-2658

26 May at 16:32:56 GMT

2655b matching segments empty

Issue #2663 closed #closed-2663

26 May at 16:31:12 GMT

Use standard coercion rules for the name expression in a computed node constructor

Issue #2665 closed #closed-2665

26 May at 16:31:10 GMT

2663 Change computed node constructors to use standard coercion rules

Issue #2661 closed #closed-2661

26 May at 16:29:15 GMT

In element-to-map(), provide an option to substitute a different string for "#content"

Issue #2666 closed #closed-2666

26 May at 16:29:13 GMT

2661 Add content-key option for fn:element-to-map

Issue #2565 closed #closed-2565

26 May at 16:26:54 GMT

`fn:dateTime-record`

Issue #2645 closed #closed-2645

26 May at 16:26:53 GMT

2565 Absent-vs-Empty fields in dateTime-record

Issue #2631 closed #closed-2631

26 May at 16:24:59 GMT

Drop scan-left and scan-right

Issue #2643 closed #closed-2643

26 May at 16:24:58 GMT

2631 Drop scan-left and scan-right

Issue #2648 closed #closed-2648

26 May at 16:22:12 GMT

File Module: editorial notes

Issue #2650 closed #closed-2650

26 May at 16:22:11 GMT

2648 File Module: editorial notes

Issue #2668 created #created-2668

26 May at 16:15:28 GMT
`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-format was 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

25 May at 14:10:00 GMT

Draft agenda published.

Pull request #2667 created #created-2667

25 May at 00:31:12 GMT
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.