@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 188 draft minutes #minutes-10-06
Draft minutes published.
Issue #2937 closed #closed-2937
castable as xs:decimal
Issue #2964 closed #closed-2964
2937 Explain the effect of XSD 1.1 on the casting rules
Issue #2961 closed #closed-2961
CSV functions: tweaks
Issue #2962 closed #closed-2962
2961 CSV functions: tweaks
Issue #2949 closed #closed-2949
2919 fn:drop-while
Issue #2968 created #created-2968
`fn:subsequence-where` to be dropped
…as discussed today (QT4 CG Meeting 182 Minutes 2026-10-06).
Issue #2938 closed #closed-2938
Parameter defaults: focus of the caller
Issue #2941 closed #closed-2941
2938 Parameter defaults: focus of the caller
Issue #2959 closed #closed-2959
Clarify contrast between two notation devices, ⊑ and ⊆
Issue #2945 closed #closed-2945
FunctX, 4.0
Issue #2946 closed #closed-2946
2945 FunctX, 4.0
Issue #2806 closed #closed-2806
Serialization `indent-unit`, `line-ending`: allowed characters
Issue #2913 closed #closed-2913
Analysis and design of restricted integer types for functions.
Issue #2960 closed #closed-2960
Downcasting coercion and the whiteSpace facet
Issue #2963 closed #closed-2963
2960 Coercion to derived string types (whitespace)
QT4 CG meeting 183 draft agenda #agenda-10-06
Draft agenda published.
Issue #2967 created #created-2967
`fn:matching-segments`: Suggestions
- The term “segments” is somewhat uncommon in the regex terminology. Maybe
fn:match-results? - A common use seems to be to get the strings captured by the groups of a match:
let $groups := matching-segments($line, '(\S+) (\S+)( \S+)?')?groups
let $a := $groups?1?value, $b := $groups?2?value, $c := $groups?3?value
Maybe we should add a field values (of type array(xs:string?))? It could also be used for destructuring:
let $[$a, $b, c] := matching-segments($line, '(\S+) (\S+)( \S+)?')?values
Pull request #2966 created #created-2966
2965 Regex functions: bugs
Closes #2965
Issue #2965 created #created-2965
Regex functions: bugs
-
Contradiction, about newlines at the end of a string. With the
mflag, one section says^and$work around every newline. Another section (a later correction) says a newline at the very end of the string is an exception. The test suite follows the correction, so the older section should be updated to match. It should also say clearly what$does there. -
Typo in the
xflag. The list of removed whitespace characters names the carriage return twice and forgets the ordinary space. The example right below it only works if spaces are removed. -
A rule that common regex engines don’t support.
\1refers back to the text that group 1 matched. If group 1 didn’t match anything at all, the spec says\1should match the empty string. Java etc. make the whole match fail in that case, and imitating the spec’s rule takes a lot of extra machinery. I’d suggest dropping the rule, or letting each implementation decide. -
Optional: upper/lower case in
\1. With theiflag, the spec’s definition says Turkishİandiare different letters. Java treats them as the same when comparing\1. After all, this only affects a handful of special letters, so maybe the spec could simply leave it to implementations…
Issue #2866 closed #closed-2866
Data model: JNodes
Pull request #2964 created #created-2964
2937 Explain the effect of XSD 1.1 on the casting rules
Fix #2937
Pull request #2963 created #created-2963
2960 Coercion to derived string types (whitespace)
Adds a note explaining that " John " cannot be relabelled as xs:ID
Fix #2960
Pull request #2962 created #created-2962
2961 CSV functions: tweaks
I decided to not go without strict-quoting, but to allow quotes within the input string, which is the most common case, and much less controversial. FOCV0001 covers only broken quoted fields now.
Closes #2961
Issue #2961 created #created-2961
CSV functions: tweaks
- I suggest dropping
fn:csv-to-arrays:fn:parse-csv($s)?rowsreturns exactly the same result, and there is no implementation for the first function that is really cheaper. - Input with embedded quotes is not that rare (example:
Monitor, 24" wide). In some cases, this input can still be read by supplying an exoticquote-character, but I think astrict-quotingoption would be better. We could also be less strict, but by experience this results in ambiguous cases (for example, is"abc" def,xsupposed to be right or wrong?)
Issue #2960 created #created-2960
Downcasting coercion and the whiteSpace facet
The coercion rules say:
If R is derived from some primitive atomic type P, then J is relabeled as an instance of R if it satisfies all the following conditions:
- J is an instance of P.
- J is not an instance of R.
- The [datum] of J is within the value space of R.
Now consider (new test case FunctionCall-433)
declare function local:f($x as xs:NCName) { $x };
local:f(" RED ")
I think that under a strict reading of the rules, this should fail: the string " RED " is valid as an instance of xs:NCName but it is not in its value space.
We should either change the rules, or at least add a note.
Pull request #2959 created #created-2959
Clarify contrast between two notation devices, ⊑ and ⊆
Fix #2942
Issue #2942 closed #closed-2942
Globally replace U+2291 with U+2286
Pull request #2958 created #created-2958
2957 Constructor functions for records
Fix #2957
QT4 CG meeting 182 draft minutes #minutes-09-29
Draft minutes published.
See 6135 more statuses in yearly archives.