Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 -
目次 索引 前ページ次ページ

第1部 アプリケーション開発の基本> 第3章 データを検索する方法> 3.5 検索結果をソートする

3.5.3 複数のキー指定でソートする

XML文書中の複数の要素ノードまたはその要素ノードの属性ノードの値でソートすることができます。ソート式に“,”で区切って複数のキー指定を指定します。それぞれのキー指定は、数値でも文字列でもかまいません。

複数のキー指定を指定することで、検索するXML文書を属性ノード1の値の昇順に並べ、もし属性ノード1の値が同じであった場合は、属性ノード2の値の昇順に並べるといったソートが可能になります。

キー指定は8個まで指定できます。

例として以下の文書があるものとします。

文書A

<doc>
  <basic date="2006年03月03日" expense="7650円">
    :
  </basic>
    :
  <detail>
    :
    <hotel>9600円</hotel>
    :
  </detail>
</doc>

文書B

<doc>
  <basic date="2006年03月03日" expense="11500円">
    :
  </basic>
    :
  <detail>
    :
    <hotel>8900円</hotel>
    :
  </detail>
</doc>

文書C

<doc>
  <basic date="2006年03月10日" expense="7650円">
    :
  </basic>
    :
  <detail>
    :
    <hotel>14090円</hotel>
    :
  </detail>
</doc>

例1

出張日(date)の順で、同じ出張日(date)である場合は宿泊費(hotel)が高い順(降順)となるようにソートします。
/doc/basic/@date,val(/doc/detail/hotel/text()) DESC

結果:文書A、B、Cの順に返却されます。

例2

出張日(date)の順で、同じ出張日(date)である場合は出張費用(expense)が高い順(降順)となるようにソートします。
/doc/basic/@date,val(/doc/basic/@expense) DESC

結果:文書B、A、Cの順に返却されます。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006