[xquery-talk] String similarity function in XQuery?
Andrew Welch
andrew.j.welch at gmail.com
Thu Jun 14 23:24:52 PDT 2007
On 6/14/07, Andrew Welch <andrew.j.welch at gmail.com> wrote:
> On 6/14/07, David Sewell <dsewell at virginia.edu> wrote:
> > Does anyone have an XQuery function that calculates the similarity of
> > two strings? I'm thinking of something along the lines of the Perl
> > String::Similarity module:
>
> If 1 per character length difference, plus 1 per character in the
> shorter string when compared to the character in the longer string is
> sufficient, then this XPath does that:
>
> abs(count($str1) - count($str2)) +
> sum(for $x in 1 to min((count($str1), count($str2))) return
> if ($str1[$x] ne $str2[$x]) then 1 else ())
....oops I was writing this in XSLT and had $str1 and $str2 defined as
<xsl:variable name="str1" select="string-to-codepoints('kitten')"/>
<xsl:variable name="str2" select="string-to-codepoints('sitting')"/>
...so the XPath would need to be modified accordingly.
More information about the talk
mailing list