用于限制输出中记录数的 XQuery 函数
XQuery function to limit the number of records in the output
我有一个 XQuery 文件,其中 returns 输出中有大量数据。我只想在输出中显示前 5 条记录。这是 xquery 代码。
<html>
<body>
<table border='1'>
<tr><td>Target</td><td>Successor</td><td>Probability</td></tr>
{
let $target := "has"
let $occurrences := doc("KS0.xml")//u//s/w[lower-case(normalize-space()) = $target]
for $successor in distinct-values($occurrences/following-sibling::w[1])
let $frequency := $occurrences/following-sibling::w[1][. = $successor]
let $probability := count($frequency) div count(//u//s/w[lower-case(normalize-space()) = lower-case(normalize-space($successor))])
order by count($frequency) descending
return <tr>
<td>{$target}</td>
<td>{$successor}</td>
<td>{$probability}</td>
</tr>
}
</table>
</body>
</html>
您的查询将 return 一个项目序列,因此您可以简单地使用谓词来限制 return 从序列中编辑的项目数量,方法是将您的查询括在括号中:
(
let $target := "has"
...
</tr>
)[position() le 5]
我有一个 XQuery 文件,其中 returns 输出中有大量数据。我只想在输出中显示前 5 条记录。这是 xquery 代码。
<html>
<body>
<table border='1'>
<tr><td>Target</td><td>Successor</td><td>Probability</td></tr>
{
let $target := "has"
let $occurrences := doc("KS0.xml")//u//s/w[lower-case(normalize-space()) = $target]
for $successor in distinct-values($occurrences/following-sibling::w[1])
let $frequency := $occurrences/following-sibling::w[1][. = $successor]
let $probability := count($frequency) div count(//u//s/w[lower-case(normalize-space()) = lower-case(normalize-space($successor))])
order by count($frequency) descending
return <tr>
<td>{$target}</td>
<td>{$successor}</td>
<td>{$probability}</td>
</tr>
}
</table>
</body>
</html>
您的查询将 return 一个项目序列,因此您可以简单地使用谓词来限制 return 从序列中编辑的项目数量,方法是将您的查询括在括号中:
(
let $target := "has"
...
</tr>
)[position() le 5]