@qt4cg statuses

This page displays recent status updates about the QT4CG project.

The are also captured in an RSS feed.

By year: 2025, 2024, 2023, 2022, 2021, 2020

Issue #2289 closed #closed-2289

26 Nov at 09:04:08 GMT

2195 (partial) Editorial notes (incremental)

Issue #2259 closed #closed-2259

26 Nov at 09:01:52 GMT

938 Canonical serialization

QT4 CG meeting 143 draft minutes #minutes-11-25

26 Nov at 09:00:00 GMT

Draft minutes published.

Issue #2047 closed #closed-2047

26 Nov at 08:59:54 GMT

external resource-accessing functions, available resources, and error codes

Issue #2213 closed #closed-2213

26 Nov at 08:59:53 GMT

2047 External resources and security

Issue #2303 closed #closed-2303

26 Nov at 08:57:42 GMT

2195 Fix some more simple editorial errors

Issue #2296 closed #closed-2296

26 Nov at 08:55:39 GMT

2288 XSLT implicit document nodes

Issue #2304 closed #closed-2304

26 Nov at 08:53:36 GMT

QT4CG-142-02: Add notes on gotchas for string-length and normalize-space

Issue #2287 closed #closed-2287

26 Nov at 08:52:23 GMT

Ordered maps break JSON interoperability

Issue #2306 closed #closed-2306

26 Nov at 08:51:29 GMT

QT4CG-141-01 Fix formal equivalent of array:for-each

Issue #2308 closed #closed-2308

26 Nov at 08:49:12 GMT

QT4CG-140-02 Add note about binary input to parse-csv and parse-json

Pull request #2313 created #created-2313

24 Nov at 16:56:32 GMT
2298 XQFO rules: definition of default values

@michaelhkay I have decided to create this PR, even if we are still discussing its necessity. I hope it clarifies where I see the need for unifications in the current presentation. In general, it follows the proposal that I developed in my thoughts in #2298. In particular, it fixes various small inconsistencies in the prose.

I have stumbled upon related editorial issues that I haven’t worked at yet: 1.6 Function calls is outdated, for example the fn:function-name (which could be confused with the actually existing function with the same name) should have an optional parameter. Next, the text talks about “two signatures of fn:string”; and it is not clear why the “zero or one values” and “zero or more values” cases are presented in more detail, whereas “one or more” is missing. The reason is probably simple: It seems to stem back to version 3.1.

Closes #2298

Issue #2291 closed #closed-2291

24 Nov at 09:09:12 GMT

load-xquery-module: formalizing (loading-)parameters

Issue #2312 created #created-2312

23 Nov at 08:18:58 GMT
Map/Array Filter: too much syntactic sugar?

Adopted from https://github.com/qt4cg/qtspecs/issues/2195#issuecomment-3426412436, and raised because of new user feedback:

Now that we have dropped map:pairs, the map filter expression is the only remaining that represents map entries as record(key, value).

For the sake of simplicity and usability, we could question if the alternative writings for both filtering maps and arrays are not sufficient:

let $map := { 0: 1, 1: 2, 2: 4, 3: 8 }
let $filter := fn($k, $v) { $k = $v - 1 }
return (
  (: existing ways of filtering map entries :)
  map:filter($map, $filter),
  { for key $k value $v in $map where $filter($k, $v) return { $k: $v } },
  (: redundant? :)
  $map?[$filter(?key, ?value)]
)

let $array := [ (), 1, (2, 3), (4, 5, 6) ]
let $filter := fn($m) { count($m) > 1 }
return (
  (: existing ways of filtering array members :)
  array:filter($array, $filter),
  array:join(for member $m in $array where $filter($m) return [ $m ]),
  (: redundant? :)
  $array?[$filter(.)]
)

Issue #2311 created #created-2311

21 Nov at 22:09:47 GMT
XSLT default priorities for patterns

The rules for default priorities for type patterns and predicate patterns do not follow the convention that defaulted priorities are always less than 1. The default of 1 in these cases should be reduced to 0.5.

Issue #2310 created #created-2310

21 Nov at 12:19:17 GMT
Inconsistency in XPath description of // expansion

4.7.2 Relative Path Expressions, states that:

Each non-initial occurrence of // in a path expression is expanded as described in 4.7.7 Abbreviated Syntax, leaving a sequence of steps separated by /.

but as far as I can see, 4.7.7 Abbreviated Syntax doesn't currently have any specific mention of what the expansion actually is.

XPath 3.1, 3.3.5 Abbreviated Syntax does have a third list item describing the /descendant-or-self::node()/ expansion, but it seems to have disappeared in at least the current version of 4.

Pull request #2309 created #created-2309

20 Nov at 18:45:11 GMT
Allow SimpleMapExpr after ArrowExpr

Fix #2299

Allow the form A => B() ! C and make it equivalent to ( A => B() ) ! C. Also, allow all operators from PostfixExpr in the same manner.

Issue #2305 closed #closed-2305

19 Nov at 14:39:27 GMT

Syntax Highlighting

Issue #2307 closed #closed-2307

19 Nov at 14:39:26 GMT

Remove the attempt to syntax highlight XSLT examples

Pull request #2308 created #created-2308

19 Nov at 14:24:15 GMT

QT4CG-140-02 Add note about binary input to parse-csv and parse-json

Pull request #2307 created #created-2307

19 Nov at 14:18:25 GMT
Remove the attempt to syntax highlight XSLT examples

Fix #2305

The result was buggy, causing errors in examples, and the highlighting wasn’t actually having any effect because the CSS had been lost.

Pull request #2306 created #created-2306

19 Nov at 14:13:48 GMT
QT4CG-141-01 Fix formal equivalent of array:for-each

Need $member?value not $member

Issue #2305 created #created-2305

19 Nov at 12:22:01 GMT
Syntax Highlighting

I'm seeing an example in the XSLT spec, section §17.3 that is incorrectly rendered:

<xsl:analyze-string select="'aLongPieceOfString'">regex="(?<=[a-z])(?=([A-Z]))">

Note the '>' before 'regex'.

Looking at the HTML, I see

<pre class="spectrum"><span class="es">&lt;</span><span class="enxsl">xsl:analyze-string</span><span class="z"> </span><span class="atn">select</span><span class="atneq">=</span><span class="z">"</span><span class="op">'</span><span class="literal">aLongPieceOfString</span><span class="op">'</span><span class="z">"</span><span class="scx">&gt;</span><span class="txt">regex="(?</span><span class="es">&lt;</span><span class="en">=[a-z])(?=([A-Z]))"</span><span class="scx">&gt;</span><span class="txt">

Now, in the XSLT 3.0 spec, examples like this were syntax highlighted, and it looks to me as if we're still putting the example through the syntax highlighter, but we've dropped the CSS that actually produces the highlighted rendition. And I suspect that in this case we're seeing a bug in the syntax highlighter.

If I recall correctly, the name "spectrum" refers to a syntax highlighting tool written by Phil Fearon, but I can't find any references to it on the web.

Since we're not taking advantage of the syntax highlighting, and since no-one has complained about its absence, and since it appears to have a bug, perhaps the best thing is to drop it from the processing pipeline.

Pull request #2304 created #created-2304

19 Nov at 11:29:20 GMT

QT4CG-142-02: Add notes on gotchas for string-length and normalize-space

Pull request #2303 created #created-2303

18 Nov at 23:27:48 GMT

2195 Fix some more simple editorial errors

Issue #2302 created #created-2302

18 Nov at 23:03:33 GMT
Bad links in EXPath binary spec

Transferred from issue #2195 as it seems to be rather complex.

The EXPath binary spec is being published at location https://qt4cg.org/specifications/expath-binary-40/Overview.html but internal links generated from function markup elements are pointing to https://qt4cg.org/specifications/EXPath/binary-40/Overview.html

The incorrect URI is generated because of the variable at xmlspec-2016 line 723; the correct URI is also there, commented out.

But simply changing this variable doesn't work (which is presumably why it's commented out). This is because the incorrect URI also appears in other places. It's in the doc.public entity definition in the heading of the document itself, it's in /etc/BIN40, and it's in database.xml. I haven't managed to work out the process by which these references are generated.

The same factors apply equally to the EXPath file specification.

Issue #2285 closed #closed-2285

18 Nov at 20:15:20 GMT

2198 Add pi-for-cdata parameter

Issue #2294 closed #closed-2294

18 Nov at 20:14:10 GMT

Type element(E, T)

Pull request #2301 created #created-2301

18 Nov at 19:05:43 GMT
2198 Add cdata attribute to xsl:text and xsl:value-of

Allow xsl:text and xsl:value-of to request serialization of the content as a CDATA section.

QT4 CG meeting 142 draft minutes #minutes-11-18

18 Nov at 17:30:00 GMT

Draft minutes published.

See 4732 more statuses in yearly archives.