なぜ
for $i in (0 to 3)
return element color {"red"}
戻る
<color>red</color>
<color>red</color>
<color>red</color>
<color>red</color>
ただし、反復順序を逆にします
for $i in (3 to 0)
return element color {"red"}
何も返さない?
なぜ
for $i in (0 to 3)
return element color {"red"}
戻る
<color>red</color>
<color>red</color>
<color>red</color>
<color>red</color>
ただし、反復順序を逆にします
for $i in (3 to 0)
return element color {"red"}
何も返さない?
(0から3)は、xs:integers0から3のシーケンスを返します。
...しかし(3から0)は空のシーケンスを返します!(つまり、2番目の例ではゼロ回繰り返されます)
ps xqueryの人々は、「配列」の「シーケンス」と言います:P
XPath 2.0 W3C 仕様に従って:
"範囲式を使用して、連続した整数のシーケンスを構築できます。to 演算子の各オペランドは、期待されるパラメーターの型 xs:integer? を持つ関数の引数であるかのように変換されます。いずれかのオペランドが空の場合シーケンス、または最初のオペランドから導出された整数が 2 番目のオペランドから導出された整数より大きい場合、範囲式の結果は空のシーケンスになります」
次のようなものを簡単に使用できます。
for $i in (0 to 3)
return color[4 - $i]