Dear all,
after installing Basex 9.3.3 one application of ours started failing in
a particular functionality.
We tracked it down to the following example code:
let $in :=
<json type="object">
<source type="object">
<reference>Object/20383920-5bb1-4397-8b51-b752863acddf</reference>
</source>
</json>
let $s as xs:string* := distinct-values($in/source/reference/string())
return $s
This code now returns the following error: [XPTY0004] Cannot treat
xs:untypedAtomic* as xs:string*:
distinct-values($in_0/element(source)/element(reference)).
Whereas before it was automatically casting to xs:string now it seems
that the type coercion in the let clause is too restrictive.
This happens only with the distinct-values applied by the way.
Is it correct now or was it before? For the moment we solved by removing
the type enforcement in the let clause.
Thank you for the clarification.
Regards,
Marco.