【问题标题】:How can I pass external variable with Xidel tool?如何使用 Xidel 工具传递外部变量?
【发布时间】:2021-05-02 15:11:47
【问题描述】:
我有一个 XQuery 表达式存储在一个文件中
(: file process.xq :)
declare variable $var external;
...
并与 Xidel 一起使用。
xidel --silent --color=never --xml --xquery "$(< process.xq)" my.xml
我怎样才能传递这样的外部变量?
【问题讨论】:
标签:
bash
variables
command
xquery
xidel
【解决方案1】:
“外部”似乎不可能
但它可以通过额外的查询表达式以某种方式实现....
xidel --silent --color=never --xml --xquery "foo := bar" --xquery "$(< process.xq)" my.xml
只需将$foo 用作“常规”
(: file process.xq :)
$foo
...
【解决方案2】:
我不是 XQuery 专家,但至少对于 xidel,这是您在查询文件中声明变量的方式:
declare variable $var := "external";
()
别忘了(),否则你会得到err:XPST0003: Unexpected query end。
然后加载查询文件:
$ xidel -s --extract-file=process.xq -e '$var'
#or
$ xidel -s -e @process.xq -e '$var'
external