html-table - XQuery 到 HTML 表:生成列
问题描述
我正在处理 52 个 XML 文档的集合。我正在尝试编写一个 XQuery 来从它们生成一个 HTML 表。每个文档将获得一列,大约 50 行。到目前为止,我的 XQuery 如下所示:
declare variable $bills := collection('BillsXML/?select=*.xml');
declare variable $week :=$bills/bill/data(@week);
<html>
<head></head>
<body>
<table>
<tr><th>Cause</th><th>Number</th></tr>
{
for $b in $bills
let $causes := $b//item/data(@cause)
for $c in $causes
let $deaths-per-cause := $b//item[data(@cause)=$c]/data(@number)
return <tr><td>{$c}</td><td>{$deaths-per-cause}</td></tr>
}
</table>
</body>
</html>
这在运行一个 $b (文档)时效果很好:我得到一个包含两列的表格,其中 50 个死亡原因使用 $c for-loop 生成了 50 行。但我想做的也是自动生成五十二列,每个 $b(文档)一列。第一列仍应列出死亡原因,之后的每一列都应将文档的 $week 编号和该文档中的 $deaths-per-cause 排列在该列的单元格中。这可能吗?例如,我是否编写了两条 FLWOR 语句,一条用于生成列,另一条用于生成行以填充它们?如果是这样,它们如何联锁?
解决方案
您还没有显示您的 XML 源代码,所以这是一个粗略的猜测,但是您想要类似的东西
for $c in $causes return
<tr>{
<td>{$c}</td>,
for $b in $bills return
<td>{$b//item[@cause=$c]/data(@number)}</td>
}</tr>
推荐阅读
- arrays - 我想根据需要动态数组。在 python 中是否有可能,是的,那么如何?
- swift - 在swift中继承tableview单元deque错误
- reactjs - 我们可以根据用户滚动的程度使用 ReactJS 为元素设置动画吗
- java - InetAddress 不是线程安全的?
- java - 安卓套接字程序
- visual-studio - PrestaShop 1.7 与 PHP Xdebug 获取异常并排除脚本中的文件不起作用
- javascript - 如何将数组与嵌套数组进行比较?
- java - 输出 -1 在循环中变成斜线
- java - 如何使用反射包中不可用的类
- openshift - 终止中的项目删除