gpt4 book ai didi

xquery - 如何编写查询从命令行传递输入文件的位置(Saxon)

转载 作者:行者123 更新时间:2023-12-04 08:41:48 28 4
gpt4 key购买 nike

我对此很陌生。
我有一个查询和一个 xml 文件。
我可以写一个对该特定文件的查询

for $x in doc("file:///C:/Users/Foo/IdeaProjects/XQuery/src/books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
我有一个基本的 xml 文件,里面有书,在 intellij 中运行良好。
但是如果我想对命令行上定义的某个文件运行这个查询,那么我该怎么做呢?
运行上面的命令行是(其他人引用)
java -cp C:\Users\Foo\.IdeaIC2019.2\config\plugins\xquery-intellij-plugin\lib\Saxon-HE-9.9.1-7.jar net.sf.saxon.Query -t -q:"C:\Users\Foo\IdeaProjects\XQuery\src\w3schools.com.xqy"
这也很好用。
撒克逊文件
https://www.saxonica.com/html/documentation/using-xquery/commandline.html
意味着我可以使用“-d”指定一个输入文件
和“文档的文档节点作为上下文项可用于查询”
但这对我 1 天大的 XQuery 技能没有任何意义。
如何在查询中指定从命令行发送的文档?什么是上下文项?以及如何引用它?
(我可以做一些 XSLT 1.0,所以我理解上下文的概念)。

最佳答案

我认为该选项名为 -s (对于 source )所以你可以使用 -s:books.xml在您的 XQuery 主表达式中,任何路径都使用该文档作为上下文项进行评估,因此您可以使用例如

for $x in /bookstore/book
where $x/price>30
order by $x/title
return $x/title

关于xquery - 如何编写查询从命令行传递输入文件的位置(Saxon),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64527923/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com