tf:createTextReference

Create reference descriptions for text locations.

Top of page

Related Syntax Constructs

The following construct(s) refer to this construct:


Syntax

tf:createTextReference(node* $input, string $searchString) => node*

Description

The function tf:createTextReference is specific to Tamino. It takes a node sequence and a search string as arguments. Similar to the function tf:containsText it searches a string, consisting of one or more words, in a node. However, it does not return a Boolean value, but a sequence of reference descriptions for each node found.

You can use reference descriptions for subsequent highlighting of these nodes, see tf:highlight.

With tf:createTextReference you can create reference descriptions based on a search using wildcard characters. The section Pattern Matching in the XQuery 4 User Guide explains this in detail.

Arguments

$input

node

$searchString

string value

Examples

  • Create reference descriptions to remarks for those patients who respond to current treatment:

    for $a in input()/patient
    return tf:createTextReference($a/remarks, "responding to treatment")

    This query returns reference descriptions to the locations of all word tokens found:

    graphics/xqr-refdesc-text.png

  • Create reference descriptions to books for which the review text uses the word "discussion":

    for $a in input()/reviews
    let $b := $a/entry/review
    return tf:createTextReference($b, "discussion")

    This query returns reference descriptions to the locations of all word tokens found; here in two different nodes:

    graphics/xqr-refdesc-text2.png

  • Create reference descriptions for the occurrences of "Kansas City" and "New York City":

    let $x := <p>This is Kansas City and this is New York City</p>
    for $d in $x//text()
    let $a := (let $ref1 := tf:createTextReference($d, "Kansas City")
               for $refeach in $ref1
               return $refeach)
    let $b := (let $ref2 := tf:createTextReference($d, "New York City")
               for $refeach in $ref2
               return $refeach)
    return <output>{$a}{$b}</output>

    Note that reference descriptions are generated for every token that the search term consists of. This is why there are five references in the output and not just two:

    graphics/xqr-refdesc-text3.png