Dear all,
I noticed, that the implementation of RestXQ in BaseX behaves differently compared to the implemation in eXist.
If you have a simple API like
declare %rest:path("/test/{$params1}/{$params2}") %rest:GET function test($params1 as xs:string*, $params2 as xs:string*) { <response> <p1>{$params1}</p1> <p2>{$params2}</p2> </response> };
And you call this Uri "/test/a/b;c=2"
BaseX returns
<response> <p1>a</p1> <p2>b</p2> </response>
versus the response of eXist
<response> <p1>a</p1> <p2>b;c=2</p2> </response>
--> It seems to be not possible to pass Matrix URIs in BaseX over RestXQ right now.
eXist would accept as well a call like "test/a;e;f=5/b;c=2". BaseX passes out at this point, because nothing after the first ; is evaluated and thus no matching RestXQ API can be found.
My questions: -Is this a bug? -Is there a feature missing in the current implementation of RestXQ in BaseX? -Or is there an easy configuration for BaseX available, which will allow working with Matrix-Uri-Parameters and RestXQ?
Thanks and bye Peter