Why call eval? -- Mike
On Apr 23, 2013, at 21:41, Tim Finney <[email protected]> wrote: > Hi Everyone, > > Say I have an amped function to set doc permissions. E.g. > > declare function my:document-set-permissions( > $URI as xs:string, > $permissions as element()* > ) as empty-sequence() { > try { > let $query := ' > declare variable $URI external; > declare variable $permissions external; > xdmp:document-set-permissions($URI, $permissions) > ' > let $args := ( > fn:QName("", "URI"), $URI, > fn:QName("", "permissions"), $permissions > ) > return xdmp:eval($query, $args) > } > catch ($e) { fn:error(xs:QName("e:fail"), "operation failed", $e) } > }; > > I call this like so: > > let $URI := "myURI" > let $permissions := ( > xdmp:permission("app-user", "read"), > xdmp:permission("app-user", "update") > ) > return my:document-set-permissions($URI, $permissions) > > However, I get this error which is caused by fn:data which is presumably > called by xdmp:eval. > > XDMP-NONMIXEDCOMPLEXCONT 1.0-ml Node has complex type with non-mixed > complex content XDMP-NONMIXEDCOMPLEXCONT: fn:data(<sec:permission > xmlns:sec="http://marklogic.com/xdmp/security"><sec:capability>update</sec:capability><sec:role-id>...</sec:permission>) > > > > Is there a way to pass in the permissions elements? > > Best, > > Tim Finney > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general > _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
