電話番号を返す関数があります。この形式で返されます
<td>#phone</td>
この関数は、任意の数の値を返すことができます。それらをグリッドのような構造で表示したい。つまり、10列あるテーブルです。(したがって、関数が 26 レコードを返す場合、3 つの行があります。10 列の 2 行と 6 列の 3 行目です。)
XQuery の for ステートメント (キーワード at を含む for ステートメント) のカウンター ロジックがわかりません。どんな助けでも大歓迎です。
関数呼び出しは次のようになります (関数呼び出しの変更も高く評価されます)。
実際のコードは次のとおりです。
declare function local:table-construct(
$areacode as xs:string,
$uniquekey as $xs:string,
$doc as xs:element) as xs:element?
{
for $phno in $doc/users[$areacode eq $code and $uniquekey eq $thiskey]
return <td>{$phno/phone}</td>
}
let $doc := <an xml doc from a database>
let $areacode := "somestring"
let $uniquekey := "somekey"
return
<html>
<body>
<table>
<tr>{local:table-construct($areacode, $uniquekey, $doc)}</tr>
</table>
</body>
</html>
現在の形式では、すべての電話番号が同じ行に表示されます。テーブルに 10 行のみを表示したい。次の行の残りのデータ。