Hi Randy,

Using index-of might not perform well. I would recommend using the for each at 
$pos construction instead:

for $song at $index in $searchresults
...

You can use $searchresults[$index + 1] to get access to the next searchresult 
(if there is any)

Kind regards,
Geert

Van: [email protected] 
[mailto:[email protected]] Namens Randy Smith
Verzonden: maandag 9 mei 2011 22:47
Aan: [email protected]
Onderwerp: [MarkLogic Dev General] How To Get The "Content" of An Index?

Anyone,
I think this is a simple question:
If I am using the MarkLogic search API like like with the Top-Songs app we 
developed in class e.g.:

let $items :=
    for $song in $results/search:result
    let $song-doc := fn:doc($uri)
    return

        {if {$song-doc//ts:Value[.='cat'])
            then <div class="abc"> Get the index of "Value" that has "cat" in 
it ==> {fn:index-of($song-doc//ts:Value/text(), 'cat')}</div>
    else ()} ...

The above works fine and gives me back the index for "cat" that is one of the 
many content values in element "Value" (the element "Value" appears as many as 
1500 times in some documents).
But what I need is the content of the index+1 position. I already know "cat" is 
in the returned index position but I need to print out the content of the index 
+ 1 position (or in some cases index+2)

I'm sure there is a nice way to reference the $song-doc//ts:Value[.='cat'] 
content by using something like (but I know this does not work)  
$song-doc//ts:Value[index+1] to get the content printed out. I know to look for 
"cat" but I do not know what is in the "cat" position + 1.

Any help appreciated!  :'(
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to