У меня есть следующий запрос в файле XQ с именем «consulta.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, поэтому буду признателен за любой ответ, который может мне помочь. Заранее спасибо.