2 回答
TA贡献1887条经验 获得超5个赞
我认为您想要嵌套一个进一步的for .. return ..表达式(并更正属性选择,尽管我只是使用了||字符串连接运算符):
<table>
<tr>
<th>Hoteles</th>
</tr>
{
for $i in //destino
return
<tr>
<td>
<ul>
{
for $hotel in $i/estancias/hotel
return
<li>
{
$hotel || '(' || $hotel/@estrellas || ')'
}
</li>
}
</ul>
</td>
</tr>
}
</table>
TA贡献1801条经验 获得超8个赞
你也可以使用这种方法(结合@Martin Honnen的伟大的星星渲染)
declare function local:render-destination ($desination as element(destino)) {
<ul>{for-each($destination//hotel, local:render-hotel(?))}</ul>
};
declare function local:render-hotel ($hotel as element(hotel)) {
<li>{
``[`{$hotel}` (`{local:render-stars($hotel/@estrellas/data())}`)`]``
}</li>
};
declare function local:render-stars ($n as xs:integer) {
string-join((1 to $n) ! '⭐')
};
<section>
<header>Hoteles</header>
{for-each(//destino, local:render-destination(?))}
</section>
- 2 回答
- 0 关注
- 96 浏览
添加回答
举报