Я изо всех сил пытаюсь сделать это с помощью XSLT:
Мне нужно удалить дублирующиеся узлы из XML, но это отличается от обычного, потому что эти узлы могут быть у разных родителей, и я не могу просто удалитьпервый случай, но есть правило расстановки приоритетов.
Это мой ВХОД
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<Collection>
<AddedType>
<Type>
<Name>BBBBBBB</Name>
<Status>On</Status>
<Version>2</Version>
<Iteration>3</Iteration>
</Type>
<Type>
<Name>AAAAAAA</Name>
<Status>Off</Status>
<Version>3</Version>
<Iteration>0</Iteration>
</Type>
<Type>
<Name>CCCCCCC</Name>
<Status>On</Status>
<Version>0</Version>
<Iteration>1</Iteration>
</Type>
<Type>
<Name>BBBBBBB</Name>
<Status>Off</Status>
<Version>4</Version>
<Iteration>0</Iteration>
</Type>
</AddedType>
<ChangedType>
<Type>
<Name>BBBBBBB</Name>
<Status>On</Status>
<Version>7</Version>
<Iteration>2</Iteration>
</Type>
</ChangedType>
<UnchangedType>
<Type>
<Name>AAAAAAA</Name>
<Status>On</Status>
<Version>2</Version>
<Iteration>0</Iteration>
</Type>
</UnChangedType>
<DeletedType>
<Type>
<Name>XXXXXX</Name>
<Status>On</Status>
<Version>5</Version>
<Iteration>1</Iteration>
</Type>
</DeletedType>
</Collection>
</xml>
Желаемый ВЫХОД
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<Collection>
<AddedType>
<Type>
<Name>CCCCCCC</Name>
<Status>On</Status>
<Version>0</Version>
<Iteration>1</Iteration>
</Type>
</AddedType>
<ChangedType>
<Type>
<Name>BBBBBBB</Name>
<Status>On</Status>
<Version>7</Version>
<Iteration>2</Iteration>
</Type>
</ChangedType>
<UnchangedType>
<Type>
<Name>AAAAAAA</Name>
<Status>On</Status>
<Version>2</Version>
<Iteration>0</Iteration>
</Type>
</UnChangedType>
<DeletedType>
<Type>
<Name>XXXXXX</Name>
<Status>On</Status>
<Version>5</Version>
<Iteration>1</Iteration>
</Type>
</DeletedType>
</Collection>
</xml>
Тип узлы могут быть в AddedType ChangedType UnChangedType DeletedType
Статус может быть только Вкл. или Выкл. с Вкл. > Выкл.
Версия числовая, целое число
Итерация числовая, целое число
Как вы можетесм. в примере выше, мне нужно иметь в OUTPUT только 1 вхождение каждого типа узла с тем же значением Name , и это должен быть узел с более высоким приоритетом на основеСледующее правило:
Полный ключ для выбора того, что оставить, - (Статус). (Версия). (Итерация) example: Off.5.1
Любая помощь будет по достоинству оценена