Xquery/Xpath Full-Text support
Posted: Thu Mar 24, 2022 2:04 pm
Hello,
I tried to develop an Xquery script with a fuzzy comparison of two strings. Then I found out that W3 has implemented a full-text (https://www.w3.org/TR/xpath-full-text-30/) support as an extension from Xquery Version 1.0 and higher.
Unfortunately, in the Xquery debugger with Saxon 9.9.1.7, I cannot use this extension.
(1) Is there a Saxon version I can install that covers this extension?
(2) If not, is there a plugin for the Oxygen XML editor?
(3) Are (1) and (2) not possible are there other ways to get the full-text extension into the Xquery debugger?
(4) or am I missing something?
eXistdb provides this functionality through the Full-Text Index with ft:query and BaseX has this extension integrated, but necessarily the script should work in the Oxygen XML Editor environment.
I did find a script that returns me the Levenshtein Distance, would still be very interested in the functionality of the full-text Xquery extension.
Oxygen XML Editor version 23.1
Example:
I tried to develop an Xquery script with a fuzzy comparison of two strings. Then I found out that W3 has implemented a full-text (https://www.w3.org/TR/xpath-full-text-30/) support as an extension from Xquery Version 1.0 and higher.
Unfortunately, in the Xquery debugger with Saxon 9.9.1.7, I cannot use this extension.
(1) Is there a Saxon version I can install that covers this extension?
(2) If not, is there a plugin for the Oxygen XML editor?
(3) Are (1) and (2) not possible are there other ways to get the full-text extension into the Xquery debugger?
(4) or am I missing something?
eXistdb provides this functionality through the Full-Text Index with ft:query and BaseX has this extension integrated, but necessarily the script should work in the Oxygen XML Editor environment.
I did find a script that returns me the Levenshtein Distance, would still be very interested in the functionality of the full-text Xquery extension.
Oxygen XML Editor version 23.1
Example:
Code: Select all
let $text1 := "cat"
let $text2 := "hat"
let $test1 := $text1[. contains text {$text2} using fuzzy 1 errors]
let $test2 := $text1[. contains text {$text2} using fuzzy 0 errors]
return
(
$test1, (: should return $text1 :)
$test2 (: should not return $text1 :)
)