Как правило, в XSLT, если вы хотите создать иерархию из списка, вы можете использовать ключевые слова previous-sibling и follow-sibling. Это проще, если между наборами есть запись маркера.
Поскольку в этом случае у вас нет маркера как такового, я полагаю, что решение может включать в себя следующее ключевое слово и оператор мода. Мод, обеспечивающий разделение между наборами.
Я не пробовал, но это был бы мой первый старт.
xslt - это, как правило, хорошее место для понимания различных ключевых слов.