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