以下にソートまたは集計を行う場合のソート式の例を示します。
| <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 |