Just guessing, but it might be pretty difficult to allow searchable expression 
arguments within a JavaScript evaluation environment. It might mean extending 
JavaScript syntax, or passing in the searchable expression as a string.

Speaking of strings, one workaround would be to do that bit in XQuery and call 
the XQuery from JavaScript. You could pass in a string that holds the 
searchable expression, and use that to build a cts:search expression, then call 
xdmp:value.

But if that sounds familiar, maybe it's because that's pretty much what 
search:resolve-nodes already does. You should be able to require() the search 
API module into your server-side JavaScript code and call it from there.

-- Mike

> On 3 Mar 2015, at 11:56 , Steiner, David J. (LNG-DAY) 
> <[email protected]> wrote:
> 
> I’m trying to implement a search in javascript.  In xquery, with cts:search 
> you can specify an element to be searched and returned, such as: 
> cts:search(//element.
> 
> The javascript cts.search doesn’t seem to have this ability.  Is there a way 
> to affect this in javascript?  I really don’t want the whole doc coming back, 
> just the element.  Yes, the element is a fragment.
> 
> Here’s the XQuery I’m trying to replicate in javascript:
> 
> for $hit in  cts:search(//word,
>     cts:element-word-query(
>       xs:QName("word"),
>       "tenant for life",
>       "exact"))
> order by fn:data($hit/../@year)
> return
>  
> XML documents looks like this:
> <concepts year="1865">
> <word count="8">tenant for life</word>
> <word count="5">decree of court</word>
> <word count="4">fourth part</word>
> …
> </concepts>
>  
>  
> Thanks,
> David
> 
>  
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general

_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to