花了很长时间在XQuery中构建自定义搜索功能(在eXist-db中运行)后,我发现了KWIC(上下文关键字)模块,它解决了我在代码中遇到的大多数问题。
我已经用这个博客的版本更新了KWIC(直接链接到更新的模块),但仍然有一个问题我正在试图修复。
我使用下面的代码来显示搜索结果:
let $kwicconfig := <config xmlns="" width="60" preserve-space="true" format="p" />
{for $match in $results
let $expanded := kwic:expand($match)
return
<li>
<em>{kwic:get-summary($expanded, ($expanded//exist:match)[1], $kwicconfig)}</em>
</li>
}
显示如下示例结果:
…以及对标准的解释。我们将在……时与审查员联系。
我仍然是XQuery的初学者,我如何修改KWIC函数,使结果对整个单词进行换行/截断,而不是像现在这样拆分单词?
请在现有开放邮件列表中查看此主题,该列表包含到修改后的kwic的链接。具有此特性的XQL。更高级的方法是使用内置的kwic。而是使用$callback
参数将回调函数传递给truncate-previous
和truncate-following
函数,并使用您的自定义修剪逻辑。