Arhn - архитектура программирования

Группировка по признакам

Мне нужен уникальный список элементов из XML-документа. Если вхождение элемента больше 1, я хочу, чтобы в моем выводе было последнее вхождение:

Пожалуйста, обратитесь к приведенному ниже XML для получения уникального списка:

<Organization>
   <Fund id="F01" name="HighVista I Ltd Partnership"/>
   <Fund id="F01" name="HighVista II Limited Partnership"/>
   <Fund id="F02" name="HighVistaLand I, Ltd."/>
   <Fund id="F02" name="HighVistaLand II, Ltd."/>
   <Fund id="F03" name="HighVista III Limited Partnership"/>
</Organization>

Преобразование должно вывести следующий результат:

<Organization>
   <Fund id="F01" name="HighVista II Limited Partnership"/>
   <Fund id="F02" name="HighVistaLand II, Ltd."/>
   <Fund id="F03" name="HighVista III Limited Partnership"/>
</Organization>

*Обратите внимание на изменение атрибута имени фонда с идентификаторами F01 и F02.

Нужен пример кода в XSLT1.0 - заранее спасибо.

01.04.2014

Ответы:


1

Хорошо, ваш предыдущий пост и ответ в Как получить значение уникального элемента XML с помощью XSLT применить, просто определить ключ на основе атрибута <xsl:key name="by-id" match="Fund" use="@id"/>, а затем использовать <xsl:copy-of select="Fund[generate-id() = generate-id(key('by-id', @id)[last()])]"/>. Остальные вещи вы сможете сделать из предыдущего полного решения.

01.04.2014
  • Спасибо за ссылку. В этом случае я пытался использовать аналогичный код, но не смог получить желаемого результата. В соответствии с предыдущим решением мне было удобно использовать, потому что теги были отдельными - здесь я застрял из-за нескольких атрибутов. Как использовать несколько атрибутов для получения уникального набора результатов? 01.04.2014
  • Спасибо - это сработало - не хватало тега для использования. 01.04.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..