[Bug 27098] possibility of functions to return multiple arguments which can be used in the argumentlist of a functioncall.

https://www.w3.org/Bugs/Public/show_bug.cgi?id=27098

--- Comment #2 from Rob <r.stapper@lijbrandt.nl> ---
(In reply to Michael Kay from comment #1)
> This sounds like one of the use cases for maps, which are introduced in
> XPath 3.1. A function can return multiple results in a map, and the map can
> either be passed to another function as a single argument value, or its
> components can be passed in multiple arguments:
> 
> declare function f() {
>   map{ x:23, y:34 }
> }
> 
> declare function g($x, $y) {
>   ...
> }
> 
> let $f := f()
> return g($f?x, $f?y)

Yes, indeed it does sounds like it but this solution only meets the
requirements halfway. The solution forces the use of a variable ( $f in this
case) and it doesn't allow functioncalls to be nested. 

The result of function f() still has to be brought back (serialized) to the
program ( $f), there being splitup in its origional elements ($f?x and $f?y)
and individually being fed to function: g#2. This all could be done in the
background if function f()'s result could be interpreted as a sequence of
arguments within the call to function g#2.

I realize that this would have a significant impact on the internal
xquery-design and I probably wouldn't have mentioned it if it hadn't, to my
opinion, so much in common with the apply-request:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26585

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Monday, 20 October 2014 09:04:47 UTC