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

付録B 検索式、リターン式およびソート式の書式> B.5 ソート式

B.5.1 ソート式の書式

ソート式には、テキスト式、属性式または単一行関数指定が指定できます。それぞれに対して取出し順(昇順または降順)を指定できます。“,”で区切って複数指定することができます。

ソート式の定義を以下の図に示します。

[図:ソート式の定義]

ソート式には、キー指定を8個まで指定できます。

以下にソート式で定義する項目について説明します。

テキスト

テキスト式は、ソートを行うキーとなるテキストノードを指定します。

テキスト式の詳細については、“B.2.2 テキスト式”を参照してください。

/company/employee/dept/text()

単一行関数指

単一行関数指定は、単一行関数の結果でソートを行いたい場合に指定します。

単一行関数指定の詳細については、“B.2.4 単一行関数指定”を参照してください。

例1

rlen(/company/name/text(),16)

例2

rlen(/company/employee/@position,16)

属性

属性式は、ソートを行うキーとなる属性ノードを指定します。

属性式の詳細については、“B.2.3 属性式”を参照してください。

/company/employee/@position

DESC

結果を降で返却する場合に指定します。省略した場合は昇に返却されます。

/company/employee/dept/text() DESC

ソートを行う場

◆テキスト式で行う場合

◆属性式で行う場合

以下に示す2つの文書を文字列としてソートすると“100”よりも“20”の方が大きくなります。ソート式にval(/value/text())と指定すると、100および20といった数値でソートするため、20よりも100の方が大きくなります。
<value>100</value>

<value>20</value>

集計を行う場

◆テキスト式の場合

◆属性式の場合

以下に示す2つの文書を/doc/key/text()をキーとして集計すると、それぞれ別グループになります。ソート式にval(/doc/key/text())と指定すると、どちらも1000という数値として扱うため同じグループとして集計します。
<doc>
  <key>net1000.00g</key>
  <ship>2000個</ship>
</doc>

<doc>
  <key>1,000g</key>
  <ship>1000個</ship>
</doc>

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

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