Я совершенно новичок в преобразованиях xslt, и мне нужна помощь с одним видом преобразований. Мне нужно сгруппировать все узлы определенного типа по одному из его атрибутов и перечислить родителей каждого вида атрибута. Это своего рода подведение итогов использования определенных вещей в документе. Я представлю упрощенный пример.
Введите:
<root>
<node name="node1">
<somechild child-id="1">
</node>
<node name="node2">
<somechild child-id="2">
</node>
<node name="node3">
<somechild child-id="1">
</node>
<node name="node4">
<somechild child-id="2">
</node>
<node name="node5">
<somechild child-id="3">
</node>
</root>
Желаемый выход:
<root>
<somechild child-id="1">
<is-child-of>
<node name="node1" />
<node name="node3" />
</is-child-of>
</somechild>
<somechild child-id="2">
<is-child-of>
<node name="node2" />
<node name="node4" />
</is-child-of>
</somechild>
<somechild child-id="3">
<is-child-of>
<node name="node5" />
</is-child-of>
</somechild>
</root>
Идея состоит в том, что если один и тот же элемент во многих узлах, они имеют одинаковый дочерний идентификатор.
Мне нужно найти все используемые каждым.
Я нашел этот вопрос Преобразование XSLT в xml с группировкой по ключу , что-то вроде, но есть объявление всех авторов в начале, и у меня его нет, это всегда только потомок.