我发现有些人会考虑函数中的调用函数,但我收到了这个错误:
NotFound No template function found for call app:PokazRodzica
但首先。这是我的主要功能
declare function app:WyswietlAkweny($node as node(), $model as map(*), $nazwa as xs
:string?) {
<table border="1" width="100%">
<th>Podrzędne</th><th>Nazwa</th><th>Typ</th><th>Powierzchnia</th><th>Edycja</th>
{
for $x in doc('/db/Dane/akweny.xml/')//akwen
let $nazwa := $x/nazwa,
$typ := $x/typ,
$powierzchnia := $x/powierzchnia
return <tr>
(:~ THIS DOSENT WORK :)
<th><a href="{app:PokazRodzica($nazwa)}"><img src="/exist/apps/Obrazki/lupa.jpg" alt="Podrzedny" /> KLIK</a></th>
<th bgcolor="#F46978">{$nazwa}</th>
<th>{$typ}</th>
<th>{$powierzchnia}</th>
<th>Edytuj</th>
</tr>
}
</table>
};
这是我的功能当我按下图像时想要运行的内容
declare function app:PokazRodzica($nazwa1 as xs:string?) {
<table border="1" width="100%">
<th>Podrzędne</th><th>Nazwa</th><th>Typ</th><th>Powierzchnia</th><th>Edycja</th>
{
let $nodes := doc('/db/Dane/akweny.xml')//akweny[parent::akwen/nazwa=$nazwa1]
for $x in $nodes/*
let $nazwa := $x/nazwa/text()
let $typ := $x/typ/text()
let $powierzchnia := $x/powierzchnia/text()
return
<tr>
<th><img src="/exist/apps/Obrazki/lupa.jpg" alt="Podrzedny" /> {count($nazwa/text())} KLIK</th>
<th bgcolor="#F46978">{$nazwa}</th>
<th>{$typ}</th>
<th>{$powierzchnia}</th>
<th>Edytuj</th>
</tr>
}</table>
};
这是我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<akweny>
<akwen>
<nazwa>Atlantycki</nazwa>
<typ>ocean</typ>
<powierzchnia>106450</powierzchnia>
<akweny>
<akwen>
<nazwa>Północne</nazwa>
<typ>morze</typ>
<powierzchnia>750</powierzchnia>
</akwen>
<akwen>
<nazwa>Batyckie</nazwa>
<typ>morze</typ>
<powierzchnia>386</powierzchnia>
<akweny>
<akwen>
<nazwa>Botnicka</nazwa>
<typ>zatoka</typ>
<powierzchnia>117</powierzchnia>
</akwen>
<akweny>
<akwen>
<nazwa>Botnicka</nazwa>
<typ>zatoka3</typ>
<powierzchnia>11777</powierzchnia>
</akwen>
</akweny>
</akweny>
</akwen>
</akweny>
</akwen>
<akwen>
<nazwa>Spokojny</nazwa>
<typ>ocean</typ>
<powierzchnia>179700</powierzchnia>
</akwen>
</akweny>
我这样调用MAIN函数:
<p class="app:WyswietlAkweny"/>
我正在尝试找到任何 akweny ,其父母 akwen 与nazwa子女,子女和无穷大,其值为$ nazwa1。
答案 0 :(得分:1)
我想我现在明白了这个问题。我怀疑您希望调用此函数,并在用户在查看网页时单击此锚标记时返回其值:
<a href="{app:PokazRodzica($nazwa)}">
这不是正在发生的事情。当您输出此锚标记时,AVT({}
)中的任何内容都将在返回之前进行评估。因此,这会调用您引用的函数,并将其输出字面存储在该属性中。您需要的是引用一个端点,以便浏览器可以通过端点调用该函数:
<a href="/call-app-PokazRodzica.xqy?value={$nazwa}">
然后在端点脚本call-app-PokazRodzica.xqy
中,接受value
参数,并调用您的函数:
app:PokazRodzica($value-param)
现在,当您的用户点击锚点时,它将调用端点并将值传递给它。然后,浏览器将返回端点调用的结果。