File: K2-FunctionCallExpr-11-static-cbcl.xq

package info (click to toggle)
qtxmlpatterns-opensource-src 5.15.8-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 308,892 kB
  • sloc: xml: 360,343; cpp: 91,994; ansic: 388; sh: 53; sed: 31; makefile: 23
file content (25 lines) | stat: -rw-r--r-- 996 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(:*******************************************************:)
(: Test: K2-FunctionCallExpr-11                          :)
(: Written by: Frans Englich                             :)
(: Date: 2007-10-03T14:53:32+01:00                       :)
(: Purpose: A very simple string-difference function.    :)
(:*******************************************************:)
declare function local:compare($arg1 as xs:string, $arg2 as xs:string)
{
let $cps1 := string-to-codepoints($arg1),
    $cps2 := string-to-codepoints($arg2)
    return abs(count($cps1) - count($cps2)) +
           sum(for $x in 1 to min((count($cps1), count($cps2)))
               return if ($cps1[$x] != $cps2[$x])
                      then 1
                      else ())
};
local:compare("", ""),
local:compare("a", ""),
local:compare("", "a"),
local:compare("a", "a"),
local:compare("", "aa"),
local:compare("aa", "ab"),
local:compare("ba", "ba"),
local:compare("bab", "bbb"),
local:compare("aba", "bab")