BaseXdb / basex

BaseX Main Repository.
http://basex.org
BSD 3-Clause "New" or "Revised" License
661 stars 267 forks source link

Add casting and relabeling to SeqType coercion #2288

Closed GuntherRademacher closed 3 months ago

GuntherRademacher commented 3 months ago

These changes extend SeqType.coerce by the new rules for coercing to xs:anyURI, xs:base64Binary and xs:hexBinary, as well as for relabeling.

This fixes these QT4 test cases:

Test case DynamicFunctionCall-130 also failed due to JDK-8272702, so a workaround for this was added to Uri.resolve.

GuntherRademacher commented 3 months ago

The second commit adds coercion from xs:double to xs:float, and from xs:double and xs:float to xs:decimal. This additionally fixes these test cases:

hof-919 now fails, but this is due to expecting a coercion failure, which no longer occurs with the new rules. I have raised a QT4 issue about this (qt4cg/qt4tests#78).

ChristianGruen commented 3 months ago

I’ve started to unify the coercion rules, based on this PR.

ChristianGruen commented 3 months ago

Merged (382371274736629d2722fdd083513e7f6692d264, 280970b5e2e2e03c71e1cefa7dc1737aa91b5f21, 896d315fc8a13a69436c9cc6f52dd4c9a7748dd9)