11

XML ファイル

<Cities>
  <Place>
    <City n="New Delhi"></City>
    <City n="Chandigarh"></City>
    <City n="Mumbai"></City>
  </Place>
  <Place>
    <City n="New Delhi"></City>
    <City n="Chandigarh"></City>
  </Place>
  <Place>
    <City n="New Delhi"></City>
    <City n="Mumbai"></City>
  </Place>
</Cities>

次のXQueryを使用しています-

for $x in doc("sample")/Cities/Place/City
   order by $x/@n
   return distinct-values($x/@n)

私が期待している結果は - Chandigarh Mumbai New Delhi

しかし、取得 - Chandigarh Chandigarh Mumbai Mumbai New Delhi New Delhi New Delhi

どこが間違っているのか教えてください。

4

4 に答える 4

14

これを試してください -

for $x in distinct-values(doc("sample")/Cities/Place/City/@n)
   order by $x
   return $x

私はbaseX 7.1で同じことを確認し、あなたの期待どおりにスムーズに動作しています:)

于 2012-06-18T08:28:43.383 に答える
6

distinct-valuesここで、各値を個別に呼び出しています。distinct-valuesシーケンス内の個別の値を返しますが、シーケンスは 1 つの要素のみで構成されるようになりました。都市名のシーケンスはdistinct-values(...)whereを呼び出す必要があります。...

于 2012-06-18T08:11:10.440 に答える