gpt4 book ai didi

html - 在带有 xquery 的选择框中使用不同的参数

转载 作者:行者123 更新时间:2023-11-28 02:26:56 25 4
gpt4 key购买 nike

我是 xQuery 的新手(使用 existdb),不幸的是,我试图用 xml 文件的 1 个节点(完整)中的值填充选择框选项,并将另一个节点(corto)设置为发送的参数以供进一步查询至今未成功...

选择控件的 xml 源结构是:

<?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>
....

在屏幕上显示和将其传递给其他函数时仅共享 1 个参数没有问题:

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)

};

Snapshot shows the values of select box and the table showing the subsequent query done with the DISN tag

如果我尝试对选择列表使用(更有意义的)全名,同时保留另一个以将其传递给其他查询,则会出现问题。此代码不符合我的要求:

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)

};

我们欢迎任何建议/提示。

最佳答案

您的问题源于您在第二个示例的 FLWOR 表达式中所做的更改 - 到 for条款。

在第一个示例中,您迭代了 $nombre_canal//corto - 意味着你会返回一个 <option>每个 <corto> 的元素源中的元素。

在第二个示例中,您切换到仅遍历 $nombre_canal - 这意味着您根本真的 没有迭代,因为$nombre_canal是完整的 canales.xml文档。

要修复第二个示例,您应该恢复 for第一个样本中的子句。这是一个演示该方法的最小示例:

xquery version "3.1";

let $nombre_canal :=
<canales>
<Canal>
<corto>24H</corto>
<Full>24H</Full>
</Canal>
<Canal>
<corto>ALJZ</corto>
<Full>AL JAZEERA</Full>
</Canal>
</canales>
for $canall in $nombre_canal/Canal
return
<option value="{$canall/corto}">{$canall/Full/string()}</option>

返回两个 <option>元素(每个 <Canal> 来自源):

<option value="24H">24H</option>
<option value="ALJZ">AL JAZEERA</option>

关于html - 在带有 xquery 的选择框中使用不同的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53340933/

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