@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 164 draft minutes #minutes-05-12
Draft minutes published.
Issue #2568 closed #closed-2568
Error codes for fn:build-dateTime
Issue #2601 closed #closed-2601
2568 Error code changes for dateTime functions
Issue #2602 closed #closed-2602
Clarify conformance status of bin and file libraries
Issue #2603 closed #closed-2603
2602 EXPath file and binary modules as optional features
Issue #2609 closed #closed-2609
QT4CG-156-03 Revise text on JNode identity
Issue #2616 closed #closed-2616
2613b Additional notes, examples, and clarifications for xsl:array-member
Issue #2580 closed #closed-2580
XSLT Match patterns for records
Issue #2596 closed #closed-2596
2580 Map patterns
Issue #2612 closed #closed-2612
`fn:char`, XML 1.1: support \b and \f
Issue #2622 closed #closed-2622
2612 fn:char: Support \b and \f
Issue #2618 closed #closed-2618
2585 (part) Clarify error handling on date/time/duration arithmetic
Issue #2621 closed #closed-2621
Is fn:transform description missing listings for post-process option?
Issue #2623 closed #closed-2623
2621 Add reference to post-process option
Issue #2573 closed #closed-2573
Generated test case for codepoints-to-string(0)
Pull request #2627 created #created-2627
2624 Change error codes XPTY0019 and -0020 to XPTY0004
Fix #2624
Pull request #2626 created #created-2626
2625 Make arguments of fn:substring be xs:numeric
Fix #2625
Issue #2625 created #created-2625
Change argument type of substring() from xs:double to xs:numeric
fn:substring takes xs:double arguments for historic reasons; there were some fancy coding tricks you could play in XPath 1.0 by supplying INF or NaN. Today it would make more sense to make the argument xs:integer, especially as coercion will now convert a supplied double to xs:integer.
fn:subsequence was designed along the same pattern and in 2.0, 3.0, and 3.1 it expected xs:double for its arguments. But in issue #2542 and PR #2543 we changed the argument type to xs:numeric.
I can't see any good reason why we shouldn't make the same change to fn:substring.
Issue #2624 created #created-2624
Drop XPTY0019 and XPTY0020 in favour of XPTY0004
I propose that we drop error codes XPTY0019 and XPTY0020 in favour of XPTY0004.
Firstly, there's a big overlap between XPTY0019 and XPTY0020: with a path expression such as $x/child::node(), if $x selects items that aren't nodes, it's perfectly legitimate to raise either. Furthermore, the rule in §2.4.3.2
If an operand of an expression does not have a [dynamic type] that is a [subtype] of the [static type] required for that operand, a [type error] is raised [err:XPTY0004]
would legitimise XPTY0004 for this situation.
We state in §4.7.5 Axis Steps: "The [axis step] S is equivalent to ./S", but that isn't true because the error codes are different.
It's unlikely that anyone would use try/catch to catch either XPTY0019 or XPTY0020, firstly because of the overlap, and secondly because type errors will often be raised statically.
Pull request #2623 created #created-2623
2621 Add reference to post-process option
Fix #2621
Pull request #2622 created #created-2622
2612 fn:char: Support \b and \f
Fix #2612
Issue #2621 created #created-2621
Is fn:transform description missing listings for post-process option?
In https://qt4cg.org/specifications/xpath-functions-40/Overview.html#func-transform , post-process is one of the options listed under "The meanings of each option are defined in the table below." Should it also appear earlier in the document, in the "Zero or more of the following additional options:" lists?
Issue #2620 created #created-2620
fn:unparsed-text: editorial issues, error codes
Adopted from #2408:
- [ ] Reference
bin:infer-encoding, drop redundant rules
Triggered by https://github.com/qt4cg/qt4tests/pull/372#issuecomment-4394361787 and previous observations:
- [ ] Merge FOUT1190 and FOUT1200
Issue #2619 created #created-2619
Formatting of options records
In F&O, the tabulation of options for functions taking an options parameter uses the obsolete notation where a field name is followed by a ? to indicate that it may be absent.
The convention for options parameters is that supplying an empty value is the same as omitting the entry; but the tabulation often doesn't indicate that an empty value is acceptable.
Pull request #2618 created #created-2618
2585 (part) Clarify error handling on date/time/duration arithmetic
Issue #2617 created #created-2617
Duration multiplied or divided by numeric
In the operator mapping table for arithmetic operations that multiply or divide a duration by a number, the second operand is described as xs:numeric, but in the signature of the corresponding op: functions in F+O, it is listed as xs:double. This implies for example that with an expression such as xs:dayTimeDuration('PT1H') * 1.2, we have to convert the decimal 1.2 to a double, delivering a result that is not quite equal to PT1H12M. We could remove the anomaly by changing the signature to use xs:numeric.
At the same time we can remove the restriction that the first operand has to be xs:dayTimeDuration or xs:yearMonthDuration. It's perfectly possible to apply the operation to any xs:duration - just multiply or divide the months and seconds components individually and combine the results.
Pull request #2616 created #created-2616
2613b Additional notes, examples, and clarifications for xsl:array-member
Following the discussion of PR #2614 (which was accepted), this PR provides additional notes, clarifications, and examples.
The only substantive change is to deal with the case where the xsl:array-member instruction inadvertently selects JNodes; it avoids double-wrapping these in further JNodes.
QT4 CG meeting 163 draft minutes #minutes-05-05
Draft minutes published.
Issue #2595 closed #closed-2595
DM edits on XML Schema data types
Issue #2605 closed #closed-2605
`file:copy`, `file:move`: define behavior when target is inside source directory
See 5418 more statuses in yearly archives.