Yes, with xdmp:mapping set to "false" it does throw an expected coercion error.
So, how come? I was under the impression that xdmp:mapping applies the function's logic to each parameter. Does xdmp:mapping also not call functions under certain circumstances? Is there someone who can help explain this functionality or a document I can read? Steve So, can someone explain, or point me to a document where xdmp:mapping is explained? I've read the xdmp:mapping section in the MarkLogic On Fri, Apr 2, 2010 at 3:05 PM, Micah Dubinko <micah.dubi...@marklogic.com>wrote: > Try turning off function mapping with this declration at the top (after any > module imports) > > declare option xdmp:mapping "false"; > > Does that at least allow the function to get called (or cause a coercion > error involving ())? > > -m > > On Apr 2, 2010, at 2:01 PM, spig wrote: > > > The point is that the function is never called (it is throwing fn:error > just to prove that it's not called, errors or not). Also, there is no > warning that the function is not being called, or that there is an error in > the parameter. Anyone know why this is? Try running the code and you'll see > what I mean. It's almost like there is a hidden try/catch around my code - > no errors raised and doesn't show that nothing was called. > > > > Steve > > > > On Fri, Apr 2, 2010 at 2:55 PM, Ruth Stryker <ruth.stry...@marklogic.com> > wrote: > > Hi spig, > > > > > > Not sure about fn:error(). Maybe approach with try get instead…? > > > > > > try { > > 1 div 0 > > } > > catch ($e) { > > $e > > } > > > > Or just use an if then else for checking if your field exists…? > > > > > > if(xdmp:get-request-field("q")) > > > > then local:search-results() > > > > else … > > > > > > > > > > From: general-boun...@developer.marklogic.com [mailto: > general-boun...@developer.marklogic.com] On Behalf Of spig > > Sent: Friday, April 02, 2010 1:43 PM > > To: general@developer.marklogic.com > > Subject: [MarkLogic Dev General] Unexpected behavior > > > > > > If I run the following code, my function is never called and no errors > are raised. Any ideas? > > > > > > xquery version "1.0-ml"; > > > > declare function local:test($param1 as xs:string, $param2 as xs:string, > $param3 as xs:string) { > > fn:error() > > }; > > > > let $var := xdmp:get-request-field("non-existent-param") > > > > let $blah := local:test("", "", $var) > > > > return "Function Call Successful" > > > > > > > > Thanks, > > Steve Spigarelli > > > > > > _______________________________________________ > > General mailing list > > General@developer.marklogic.com > > http://xqzone.com/mailman/listinfo/general > > > > > > _______________________________________________ > > General mailing list > > General@developer.marklogic.com > > http://xqzone.com/mailman/listinfo/general > > _______________________________________________ > General mailing list > General@developer.marklogic.com > http://xqzone.com/mailman/listinfo/general >
_______________________________________________ General mailing list General@developer.marklogic.com http://xqzone.com/mailman/listinfo/general