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

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

B.5.2 ソート式の指定例

以下にソートまたは集計を行う場合のソート式の例を示します。

文書A

<employee>
  <name>tanaka</name><age>33</age><dept id="0001">sales</dept>
</employee>

文書B

<employee>
  <name>suzuki</name><age>30</age><dept id="0002">general affairs</dept>
</employee>

文書C

<employee>
  <name>satou</name><age>22</age><dept id="0001">sales</dept>
</employee>

文書D

<employee>
  <name>yamada</name><age>56</age><dept id="0001">sales</dept>
</employee>

文書E

<employee>
  <name>itou</name><dept id="0002">general affairs</dept>
</employee>

文書F

<employee>
  <name>nakamura</name><age>42</age><dept id="0002">general affairs</dept>
</employee>

■ソートを行う場合の記述

例1

リターン式

/employee/name/text(),/employee/age/text()

ソート式

val(/employee/age/text())

結果

Java APIの場合

satou,22
suzuki,30
tanaka,33
nakamura,42
yamada,56
itou,

.NET APIの場合

satou \1 22
suzuki \1 30
tanaka \1 33
nakamura \1 42
yamada \1 56
itou \1

C APIの場合

satou \1 22 \1
suzuki \1 30 \1
tanaka \1 33 \1
nakamura \1 42 \1
yamada \1 56 \1
itou \1 \1

例2

リターン式

/employee/name,/employee/age

ソート式

val(/employee/age/text())

結果

<employee><name>satou</name><age>22</age></employee>
<employee><name>suzuki</name><age>30</age></employee>
<employee><name>tanaka</name><age>33</age></employee>
<employee><name>nakamura</name><age>42</age></employee>
<employee><name>yamada</name><age>56</age></employee>
<employee><name>itou</name></employee>

例3

リターン式

/employee/name/text(),/employee/age/text(),val(/employee/dept/@id)

ソート式

val(/employee/dept/@id),val(/employee/age/text())

結果

satou,22,0001
tanaka,33,0001
yamada,56,0001
suzuki,30,0002
nakamura,42,0002
itou,,0002

■集計を行う場合の記述

例1

リターン式

avg(/employee/age/text()),count(/employee/age/text()),/employee/dept/text()

ソート式

/employee/dept/text()

結果

Java APIの場合

36,2,general affairs 
37,3,sales 

.NET APIの場合

36 \1 2 \1 general affairs
37 \1 3 \1 sales

C APIの場合

36 \1 2 \1 general affairs \1
37 \1 3 \1 sales \1

例2

リターン式

avg(/employee/age/text()),count(/employee/age/text()),/employee/dept/@id

ソート式

/employee/dept/@id

結果

Java APIの場合

37,3,0001
36,2,0002

.NET APIの場合

37 \1 3 \1 0001
36 \1 2 \1 0002

C APIの場合

37 \1 3 \1 0001 \1
36 \1 2 \1 0002 \1

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

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