Interstage Shunsaku Data Manager Application Development Guide - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX -
Contents Index PreviousNext

Appendix B Format of Search, Return and Sort Expressions> B.5 Sort Expressions

B.5.2 Example Sort Expressions

Some example sort expressions that either sort or aggregate data are shown below.

Document A

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

Document B

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

Document C

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

Document D

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

Document E

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

Document F

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

mark1Sample Code of Data Sorting

Example 1

Return Expression

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

Sort Expression

val(/employee/age/text())

Result

For the Java APIs

murphy,22
jones,30
smith,33
mcdonald,42
fraser,56
morrison,

For the .NET APIs

murphy \1 22
jones \1 30
smith \1 33
mcdonald \1 42
fraser \1 56
morrison \1

For the C APIs

murphy \1 22 \1
jones \1 30 \1
smith \1 33 \1
mcdonald \1 42 \1
fraser \1 56 \1
morrison \1 \1

Example 2

Return Expression

/employee/name,/employee/age

Sort Expression

val(/employee/age/text())

Result

<employee><name>murphy</name><age>22</age></employee>
<employee><name>jones</name><age>30</age></employee>
<employee><name>smith</name><age>33</age></employee>
<employee><name>mcdonald</name><age>42</age></employee>
<employee><name>fraser</name><age>56</age></employee>
<employee><name>morrison</name></employee>

Example 3

Return Expression

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

Sort Expression

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

Result

murphy,22,0001
smith,33,0001
fraser,56,0001
jones,30,0002
mcdonald,42,0002
morrison,,0002

mark1Sample Code of Data Aggregation

Example 1

Return Expression

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

Sort Expression

/employee/dept/text()

Result

For Java APIs

36,2,general affairs 
37,3,sales 

For .NET APIs

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

For C APIs

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

Example 2

Return Expression

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

Sort Expression

/employee/dept/@id

Result

For Java APIs

37,3,0001
36,2,0002

For .NET APIs

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

For C APIs

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

Contents Index PreviousNext

All Rights Reserved, Copyright(C) FUJITSU LIMITED 2006