以下にソートまたは集計を行う場合のソート式の例を示します。
<employee> <name>tanaka</name><age>33</age><dept id="0001">sales</dept> </employee> |
<employee> <name>suzuki</name><age>30</age><dept id="0002">general affairs</dept> </employee> |
<employee> <name>satou</name><age>22</age><dept id="0001">sales</dept> </employee> |
<employee> <name>yamada</name><age>56</age><dept id="0001">sales</dept> </employee> |
<employee> <name>itou</name><dept id="0002">general affairs</dept> </employee> |
<employee> <name>nakamura</name><age>42</age><dept id="0002">general affairs</dept> </employee> |
リターン式
/employee/name/text(),/employee/age/text()
ソート式
val(/employee/age/text())
結果
Java APIの場合
satou,22 |
suzuki,30 |
tanaka,33 |
nakamura,42 |
yamada,56 |
itou, |
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 |
リターン式
/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> |
リターン式
/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 |
リターン式
avg(/employee/age/text()),count(/employee/age/text()),/employee/dept/text()
ソート式
/employee/dept/text()
結果
Java APIの場合
36,2,general affairs |
37,3,sales |
C APIの場合
36 \1 2 \1 general affairs \1 |
37 \1 3 \1 sales \1 |
リターン式
avg(/employee/age/text()),count(/employee/age/text()),/employee/dept/@id
ソート式
/employee/dept/@id
結果
Java APIの場合
37,3,0001 |
36,2,0002 |
C APIの場合
37 \1 3 \1 0001 \1 |
36 \1 2 \1 0002 \1 |