【问题标题】:Issue when using xquery external variables from the command line in BaseX在 BaseX 的命令行中使用 xquery 外部变量时出现问题
【发布时间】:2013-08-09 00:44:40
【问题描述】:

我在名为“consulta.xq”的 XQ 文件中有以下查询

declare namespace xs = "http://www.w3.org/2001/XMLSchema";
declare variable $word as xs:string+ external;

for $entry in doc("cni_es_cushimariano2008")//e 
where $entry//l[matches(., $word)] 
return <e>{$entry//r//text()} --> {$entry//l//text()}</e>

我的数据库“cni_es_cushimariano2008”具有以下结构/数据:

<?xml version="1.0" encoding="UTF-8"?>
<dictionary>
<alphabet>aeiobchjmnñprsty</alphabet>
<section id="main" type="standard">
    <!-- cuidarse (de alguien). aamaantsi. -->
    <e>
        <p>
            <l>cuidarse (de alguien)</l>
            <r>aamaantsi<s n="verbo intransitivo"/>
                <s n="infinitivo"/>
            </r>
        </p>
    </e>
    <!-- celoso. aamaantsi. -->
    <e>
        <p>
            <l>celoso</l>
            <r>aamaantsi<s n="adjetivo"/>
            </r>
        </p>
    </e>
    <!-- traer. aamaantsi. -->
    <e>
        <p>
            <l>traer</l>
            <r>aamaantsi<s n="verbo transitivo"/>
                <s n="infinitivo"/>
            </r>
        </p>
    </e>
</section>
</dictionary>

我正在尝试执行以下命令行指令

$ basex -b$word=celoso consulta.xq

但我没有收到预期的结果并收到以下消息:

[XPDY0002] No value assigned to $word as xs:string+.

我不是使用 Basex 和 XQuery 的专家,因此我将不胜感激任何可能对我有帮助的答案。提前致谢。

【问题讨论】:

    标签: variables command-line external xquery basex


    【解决方案1】:

    $ 字符可能由您的命令外壳解释,因此$word 无法到达其目的地。可能需要转义,

    $ basex -b\$word=celoso consulta.xq
    

    甚至省略,

    $ basex -bword=celoso consulta.xq
    

    【讨论】:

      猜你喜欢
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多