Я новичок в xQuery (с существованием базы данных), пытаюсь заполнить опции окна выбора значениями из 1 узла (Full) XML-файла и устанавливаю другой узел (corto) в качестве параметра, отправляемого для дальнейших запросов, к сожалению. безуспешно до сих пор ...
Структура источника XML для элемента управления select:
<?xml version="1.0" encoding="UTF-8"?>
<canales>
<Canal>
<corto>24H</corto>
<Full>24H</Full>
</Canal>
<Canal>
<corto>ALJZ</corto>
<Full>AL JAZEERA</Full>
</Canal>
....
Нет проблем при совместном использовании только одного параметра как для представления на экране, так и для передачи его другим функциям:
declare function app:Lista_canales($node as node()*, $model as map(*)){
let $nombre_canal := (doc(concat($config:data-root, '/','canales.xml')))
let $control :=
<select name="n_canal" class="form-control">
<option value ="">Select channel</option>
{for $canall in $nombre_canal//corto
return <option value="{$canall}">{$canall}</option>
}
</select>
return
templates:form-control($control, $model)
};
Снимок показывает значения окна выбора и таблицу, показывающую последующий запрос, выполненный с тегом DISN
Проблемы появляются, если я пытаюсь использовать (более значимое) полное имя для списка выбора, оставляя другое для передачи его другим запросам. Этот код не делает то, что я хочу:
declare function app:Lista_canales($node as node()*, $model as map(*)){
let $nombre_canal := (doc(concat($config:data-root, '/','canales.xml')))
let $control :=
<select name="n_canal" class="form-control">
<option value ="">Select channel</option>
{for $canall in $nombre_canal
return <option value="{$canall//corto}">{$canall//Full}</option>
}
</select>
return
templates:form-control($control, $model)
};
Любые советы / советы будут приветствоваться.