[xquery-talk] contains and tokenize
David Sewell
dsewell at virginia.edu
Mon Oct 23 12:07:34 PDT 2006
On Mon, 23 Oct 2006, Cindy Girard wrote:
> Hi,
>
> I have the following where clause:
>
> where contains(upper-case($text), upper-case($keyword))
>
> It works fine, except that it returns partial word matching. To only
> match whole words, I'm pretty sure I need to use tokenize(), but I'm
> not sure how to put it all together.
You could use an appropriate regular expression with matches(). For
example:
where matches($text, concat('\W', $keyword, '\W'), 'i')
I.e., match a string that contains non-word character + keyword +
non-word character, and do this case-insensitively.
--
David Sewell, Editorial and Technical Manager
ROTUNDA, The University of Virginia Press
PO Box 400318, Charlottesville, VA 22904-4318 USA
Courier: 310 Old Ivy Way, Suite 302, Charlottesville VA 22903
Email: dsewell at virginia.edu Tel: +1 434 924 9973
Web: http://rotunda.upress.virginia.edu/
More information about the talk
mailing list