У меня есть XML с элементами ввода.У каждой записи есть автор.Я пытаюсь сгруппировать записи таким образом, чтобы каждая группа состояла из записей, имя автора которых начинается с уникального буквенного символа.Все записи, имена авторов которых начинаются с буквы «а», должны входить в одну группу, все записи, авторы которых имена начинаются с буквы «б», должны входить в другую группу и т. Д.
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>
В моем примере ожидаются две группы авторов - Первый авторгруппа, состоящая из всех авторов, чьи имена начинаются с a, вторая группа авторов, состоящая из всех авторов, чьи имена начинаются с b
Я хотел бы игнорировать случаи в именах авторов, т.е.
Я бы тогда взял каждую группу авторов и создал список контактов.
Спасибо, Sony