0

我有一个 XQuery 表达式存储在一个文件中

(: file process.xq :) 
declare variable $var external;
...

并将其与 Xidel 一起使用。

 xidel  --silent --color=never --xml --xquery "$(< process.xq)" my.xml

我怎样才能传递这样的外部变量?

4

2 回答 2

0

我不是 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
于 2021-02-06T17:06:40.757 回答
0

“外部”似乎不可能

但它可以通过额外的查询表达式以某种方式实现....

xidel  --silent --color=never --xml --xquery "foo := bar" --xquery "$(< process.xq)" my.xml

$foo像“通常”一样使用

(: file process.xq :) 
$foo
...
于 2021-01-28T18:07:19.757 回答