以下输出并不太远,但查询record
为每条记录创建了一个新元素,entry
而原始数据entry
在每条记录中具有四个元素节点。
这样,一些数据正在被擦除。应该有四个entry
节点,它们是节点的子record
节点,record
; 根元素是csv
.
如何在不更改文档树的情况下为每个entry
元素添加属性?
我正在寻找的是这样的:
<record>
<entry num="1">2020-01-26</entry>
<entry num="2">Vancouver Coastal</entry>
..
<record>
<entry num="1">2020-02-02</entry>
..
以便“计数器”为每条记录重新启动。
电流输出:
<csv>
<record>
<entry num="1">2020-01-26</entry>
</record>
<record>
<entry num="2">Vancouver Coastal</entry>
</record>
<record>
<entry num="3">M</entry>
</record>
<record>
<entry num="4">40-49</entry>
</record>
<record>
<entry num="5">Lab-diagnosed</entry>
</record>
<record>
<entry num="6">2020-02-02</entry>
</record>
<record>
<entry num="7">Vancouver Coastal</entry>
</record>
<record>
<entry num="8">baz</entry>
</record>
<record>
<entry num="9">50-59</entry>
</record>
<record>
<entry num="10">Lab-diagnosed</entry>
</record>
<record>
<entry num="11">2020-02-05</entry>
</record>
<record>
<entry num="12">Vancouver Coastal</entry>
</record>
<record>
<entry num="13">F</entry>
</record>
<record>
<entry num="14">20-29</entry>
</record>
<record>
<entry num="15">Lab-diagnosed</entry>
</record>
</csv>
查询:
<csv>
{
for $x at $i in db:open("bccdc_covid19.abbreviated")/csv/record/entry
return <record><entry num="{$i}">{$x/@*, $x/node()}</entry></record>
}
</csv>
输入:
<csv>
<record>
<entry>2020-01-26</entry>
<entry>Vancouver Coastal</entry>
<entry>M</entry>
<entry>40-49</entry>
<entry>Lab-diagnosed</entry>
</record>
<record>
<entry>2020-02-02</entry>
<entry>Vancouver Coastal</entry>
<entry>baz</entry>
<entry>50-59</entry>
<entry>Lab-diagnosed</entry>
</record>
<record>
<entry>2020-02-05</entry>
<entry>Vancouver Coastal</entry>
<entry>F</entry>
<entry>20-29</entry>
<entry>Lab-diagnosed</entry>
</record>
</csv>
希望保持上面原始文档的结构。