Maybe specify a default value in the call to xdmp:get-request-field:

let $var := xdmp:get-request-field("non-existent-param","")

(forwarded from another developer)

From: general-boun...@developer.marklogic.com 
[mailto:general-boun...@developer.marklogic.com] On Behalf Of spig
Sent: Friday, April 02, 2010 2:01 PM
To: General Mark Logic Developer Discussion
Subject: Re: [MarkLogic Dev General] Unexpected behavior

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<mailto: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>
 
[mailto: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<mailto: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<mailto:General@developer.marklogic.com>
http://xqzone.com/mailman/listinfo/general

_______________________________________________
General mailing list
General@developer.marklogic.com
http://xqzone.com/mailman/listinfo/general

Reply via email to