1

なぜ

  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"}

何も返さない?

4

2 に答える 2

1

(0から3)は、xs:integers0から3のシーケンスを返します。

...しかし(3から0)は空のシーケンスを返します!(つまり、2番目の例ではゼロ回繰り返されます)

ps xqueryの人々は、「配列」の「シーケンス」と言います:P

于 2012-07-29T08:04:15.310 に答える
1

XPath 2.0 W3C 仕様に従って:

"範囲式を使用して、連続した整数のシーケンスを構築できます。to 演算子の各オペランドは、期待されるパラメーターの型 xs:integer? を持つ関数の引数であるかのように変換されます。いずれかのオペランドが空の場合シーケンス、または最初のオペランドから導出された整数が 2 番目のオペランドから導出された整数より大きい場合、範囲式の結果は空のシーケンスになります

次のようなものを簡単に使用できます

for $i in (0 to 3)
 return color[4 - $i]
于 2012-07-30T13:00:44.560 に答える