fn.zeroOrOne( $arg as ValueIterator ) as String?
Returns $arg if it contains zero or one items. Otherwise, raises an error [err:FORG0003].
For detailed type semantics, see Section 7.2.16 The fn:zero-or-one, fn:one-or-more, and fn:exactly-one functions[FS].
|$arg||The sequence of items. If you pass in a single value, it is treated as a ValueIterator with that single item; therefore, if you pass in an array, the array is treated as a single value (not as one value for each item in the array). If you mean to pass in the values of each item in the array, then you can call xdmp.arrayValues on the array.|
fn.zeroOrOne("hello") => "hello" fn.zeroOrOne(xdmp.arrayValues(["hello", "goodbye"])) => XDMP-MORETHANONEITEM exception (because there are two items)