Ah, I missed the bit about using XCC to pass in the variable, sorry. To pass this in via XCC, I think you will have to take the approach of passing in a string (or several strings, if that makes more sense) and then, on the XQuery side, have code that parses the string(s) into an appropriate cts:query. I don't think XCC will currently allow you to pass in a variable of type cts:query.
For example, if you have a form that the user uses to enter a search, you can pass in this string and have the cts:query parsing code turn the string into a cts:query (like the sample in the doc I mentioned earlier). -Danny -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mattio Valentino Sent: Tuesday, June 26, 2007 12:28 PM To: General Mark Logic Developer Discussion Subject: Re: [MarkLogic Dev General] Referencing a string variablewithincts:search Thanks Danny. That does make more sense. I did try to change the type of the variable to cts:query while debugging, but I couldn't get it to work. I think it's becuase I'm passing in the value from my app using XCC with: req.SetNewStringVariable("PARSED_QUERY", qp.ParsedQuery); Even with the .NET XCC guide, I wasn't able to figure out the proper syntax to pass a variable of type cts:query. Any pointers? On 6/26/07, Danny Sokolsky <[EMAIL PROTECTED]> wrote: > Hi Mattio, > > I think the key is that you need to define your external variable as > type cts:query. Passing in the external variable is definitely the > preferred technique over using xdmp:eval. Here is a simple example: > > Suppose you have a file on your app server root named invoke.xqy with > the following contents: > > define variable $query as cts:query external > > xdmp:estimate(cts:search(doc(), $query)) > > You can then invoke this XQuery module, passing it a cts:query, by > issuing a query as follows: > > xdmp:invoke("invoke.xqy", (xs:QName("query"), > cts:word-query("foo"))) > > You can have some logic in this module to construct the cts:query to > make it dynamic (based on user inputs, for example). For a brief > example of how you might do that, see the "Creating a cts:query > Parser" section in the "Composing cts:query Expressions" chapter of > the Developer's Guide. > > Does that help? > -Danny > _______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general _______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general
