@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 159 draft agenda #agenda-04-07

06 Apr at 14:50:00 GMT

Draft agenda published.

Issue #2573 created #created-2573

02 Apr at 17:11:45 GMT
Generated test case for codepoints-to-string(0)

This test case is marked as having a "narrative" result, but the narrative result allows a dynamic error, and the generated test case doesn't allow for this.

Pull request #2572 created #created-2572

02 Apr at 11:04:18 GMT
2312 Drop map:keys-where

I propose dropping the map:keys-where function.

One of the suggestions in issue #2312.

The function isn't needed very often, and it's easily achieved in other ways. For example, to find all the keys of entries that are non-empty, you could use map:keys-where($map, fn($k, $v){exists($v)}), but it's just as easy to use

map:filter($map, fn($k, $v){exists($v)}) => map:keys()

or

map:for-each($map, fn($k, $v){$k[exists($v)]})

or

for key $k value $v in $map where exists($v) return $k

or

map:keys($map)[exists($map(.))]

Issue #2571 created #created-2571

02 Apr at 10:59:41 GMT
generate-qt3-test-set.xsl: examples with narrative results

With having looked at the details, I assume that example with narrative results should be excluded from the generated tests.

For example, a test is generated for system-properties()?#schema-aware (which is: true for a schema-aware processor, otherwise false.):

<test-case name="fo-test-fn-system-properties-002">
  <description>Test case for fn:system-properties</description>
  <created by="Michael Kay using generate-qt3-test-set.xsl" on="2026-03-31"/>
  <environment ref="global"/>
  <test>
    system-properties()?#schema-aware
  </test>
  <result>
    <assert>true()</assert>
  </result>
</test-case>

Pull request #2570 created #created-2570

02 Apr at 08:47:58 GMT
2553 File Module: delete empty directories

Clarification for empty directories (which should always be deleted, as defined earlier).

Closes #2553

Issue #2569 created #created-2569

01 Apr at 22:13:19 GMT
Inconsistent rules for unprefixed function calls with explicit default function namespace

The spec appears to give conflicting rules for resolving unprefixed function calls when an explicit default function namespace is declared.

Example:

declare default function namespace "urn:test";
declare function f() { "namespace" };
declare function Q{}f() { "no-namespace" };
f()

Two readings seem possible:

Issue #2568 created #created-2568

01 Apr at 09:41:13 GMT
Error codes for fn:build-dateTime

Is err:FODT0006 really necessary? Why does it need to be distinct from the existing err:FORG0001, Invalid value for cast/constructor? Other error codes make it possible to distinguish between a date/time formatting error (err:FOFD1340, err:FOFD1350), an invalid combination of date/time components (err:FODT005) and other date-related errors. If the purpose of err:FODT0006 is to be more targeted, dedicated to an invalid value for a component of a date/time, then shouldn't it be general to the same circumstances in all date/time constructor functions rather than specific to fn:build-dateTime?

Similarly, if the invalid value is for the timezone component, then I'd like to propose that err:FODT0003 invalid timezone value should be re-used instead of the more generic err:FODT0006.

Issue #2567 created #created-2567

01 Apr at 08:56:36 GMT
Allow one named record type to extend another

In both XQuery and XSLT, it would be useful to allow one named record type to be declared as an extension of another, to avoid duplication between the definitions.

QT4 CG meeting 158 draft minutes #minutes-03-24

01 Apr at 07:00:00 GMT

Draft minutes published.

Pull request #2566 created #created-2566

31 Mar at 23:03:29 GMT
1979 Records with type annotations

First cut for review: the PR probably needs further passes before it is ready for acceptance.

We introduce the idea of records, being maps that have a type annotation which is a specific record type. A map acquires the type annotation when it is coerced to the record type. A map that has a record type annotation (a "record") throws a type error if map:get() (or a lookup expression) requests a key that is not one of the declared field names for that type. The type error can be raised statically.

map:put() applied to a record is constrained to produce a record with the same type annotation. (I've no objection to the "with" operator for this, but that can be done separately.)

Optional fields in record types are dropped; in a record, there is no distinction between an absent field and a field whose value is the empty sequence. There is no longer any need for this distinction, and eliminating it simplifies things a lot. (But we will need to decide whether to treat the fields as present or absent when serialising to JSON).

Fix #1979

Issue #2551 closed #closed-2551

31 Mar at 16:38:40 GMT

2550 Shadow attributes in RelaxNG schema

Issue #2556 closed #closed-2556

31 Mar at 16:34:12 GMT

Add an error code indicating no invisible XML processor is available

Issue #2215 closed #closed-2215

31 Mar at 16:30:41 GMT

XQFO xref from xml-to-json() to element-to-map()

Issue #2555 closed #closed-2555

31 Mar at 16:30:40 GMT

2215 Add "see also" links between functions

Issue #2433 closed #closed-2433

31 Mar at 16:22:51 GMT

`fn:jtree`: Identity

Issue #2516 closed #closed-2516

31 Mar at 16:22:49 GMT

2433 JTree function: Discuss JNode identity more fully

Issue #2531 closed #closed-2531

31 Mar at 16:22:10 GMT

QT4CG-154-02 Revise rules for setting stylesheet parameters

Issue #2528 closed #closed-2528

31 Mar at 16:21:22 GMT

RFC 7159 has been obsoleted

Issue #2527 closed #closed-2527

31 Mar at 16:21:22 GMT

BOM required in JSON input

Issue #2533 closed #closed-2533

31 Mar at 16:21:20 GMT

2528 Update RFC reference (7159 -> 8259) for JSON

Issue #540 closed #closed-540

31 Mar at 16:17:14 GMT

Add fn:system-property() to XQuery

Issue #2552 closed #closed-2552

31 Mar at 16:17:12 GMT

540bis Add system-properties() function

Issue #2558 closed #closed-2558

31 Mar at 16:16:21 GMT

2556 errors for invisible-xml() and doc()

Issue #2549 closed #closed-2549

31 Mar at 16:15:25 GMT

Pipelining file operations

Issue #2559 closed #closed-2559

31 Mar at 16:15:23 GMT

2549 Functional purity

Issue #2252 closed #closed-2252

31 Mar at 16:13:54 GMT

Dynamic XPath Evaluation the functional way

Issue #2325 closed #closed-2325

31 Mar at 16:12:56 GMT

Specify evaluation more tight and more formal to disallow unsane cases

Issue #2526 closed #closed-2526

31 Mar at 16:12:07 GMT

Facets

Issue #2544 closed #closed-2544

31 Mar at 16:10:43 GMT

Drop xsl:record-type/@extensible

Issue #2545 closed #closed-2545

31 Mar at 16:10:41 GMT

2544 Drop xsl:record-type/@extensible

See 5306 more statuses in yearly archives.