xml - 使用 CSV 序列化包装时未声明的变量
问题描述
我有一个在 Basex 9.5.1 中通过ftp://ftp.ncbi.nlm.nih.gov//biosample/biosample_set.xml.gz运行的查询
for $bsattrib in doc(
'biosample_set'
)/BioSampleSet/BioSample/Attributes/Attribute
let $attribdata := data(
$bsattrib
)
let $attrib_name := data(
$bsattrib/@attribute_name
)
let $attrib_hn := data(
$bsattrib/@harmonized_name
)
let $bs := $bsattrib/../..
let $bsaccession := data(
$bs/@accession
)
group by $attrib_hn
order by count(
$bs
) descending
return <record>
<hname>{$attrib_hn}</hname>
<bs_count>{count($bs)}</bs_count>
</record>
给予
<record>
<hname/>
<bs_count>59840</bs_count>
</record>
<record>
<hname>gap_accession</hname>
<bs_count>39179</bs_count>
</record>
<record>
<hname>submitter_handle</hname>
<bs_count>39179</bs_count>
</record>
等等
当我用
declare option output:method "csv";
declare option output:csv "header=yes, separator=semicolon";
<csv>
在顶部和
</csv>
在底部,我得到
未声明的变量:$attrib
解决方案
呃,我把<csv>
标签放错地方了
return <csv><record>
<hname>{$attrib_hn}</hname>
<bs_count>{count($bs)}</bs_count>
</record></csv>
推荐阅读
- c++ - enable_if 在返回类型中没有 decltype 失败
- javascript - 我卡在firebase cloud firestore上的上传图像中。谁能帮我 。?
- javascript - 使用回调循环函数并等待结果
- android - Retrofit2 Android Studio Emulator - json数组响应中的输入结束
- firebase - Application.kt:未解决的参考:firebasemessaging
- gnu-parallel - 来自远程主机的 GNU 并行日志
- c# - Tesseract 仅在 IIS 中的应用程序池标识设置为本地系统时才有效
- python - 我想要将字符串从 Python 发送到 Node-RED
- webrtc - 在 WebRTC 中,如何标记本地 MediaStream 以便远程对等方可以识别它?
- arrays - 由于列格式设置,VBA 数组函数返回错误