我有一個帶入口元素的xml。每個條目都有一個作者。我試圖以這樣的方式對條目進行分組,使得每個組由條目的作者名稱以唯一字母字符開始。所有參賽作品,其作者名稱開頭字母「A」應該在一組,所有參賽作品,其作者姓名開始字母「b」應在另一組,等等..xquery組名按字母順序創建聯繫人列表
let $feeds :=
<feed>
<entry>
<author>a</author>
<title>Title a</title>
</entry>
<entry>
<author>b</author>
<title>Title ba</title>
</entry>
<entry>
<author>ab</author>
<title>Title ab</title>
</entry>
<entry>
<author>bb</author>
<title>Title bb</title>
</entry>
</feed>
for $entry in $feeds/entry
let $author := $entry/author
order by $author ascending
return
$entry
返回的結果:
<entry>
<author>a</author>
<title>Title a</title>
</entry>, <entry>
<author>ab</author>
<title>Title ab</title>
</entry>, <entry>
<author>b</author>
<title>Title ba</title>
</entry>, <entry>
<author>bb</author>
<title>Title bb</title>
</entry>
我想周圍的代碼,調整返回的結果看起來像這樣:
<group>
<author-group>
<entry>
<author>a</author>
<title>Title a</title>
</entry>, <entry>
<author>ab</author>
<title>Title ab</title>
</entry>
</author-group>
<author-group>
<entry>
<author>b</author>
<title>Title ba</title>
</entry>, <entry>
<author>bb</author>
<title>Title bb</title>
</entry>
</author-group>
<group>
在我的例子中,兩個作者羣預計 - 第一作者格羅包含所有作者的名字以第二作者羣組成,其作者姓名以b開頭
我想忽略作者姓名中的情況,即aa和aa被視爲相同。
然後,我將採取每個作者組,並創建一個聯繫人列表。
謝謝, 索尼