Я должен прочитать диаграммы UML, которые сериализируются в XMI. Есть ли любая библиотека, которая позволила бы мне удобно читать UML XMI - удобно я означаю иметь некоторые методы для итерации по classes/packages/methods/attributest и т.д. в модели.
Я попробовал EMF, но я не могу найти любое учебное руководство, которое показало бы, как импортировать XMI, содержащий UML. Я также нашел NSUML/NSMDF, но связь на документацию разорвана.
Не думаю, что существует то, что вы хотите. Все известные мне инструменты, импортирующие XMI (включая мою службу преобразования XMI: http://modeling-languages.com/content/xmi2-tool-exchanging-uml-models-among-case-tools ), работают анализ всего файла XMI и создание соответствующей модели UML в основной памяти. Затем вы можете получить доступ к элементам UML, запросив модель.
Для итерации модели XMI вы можете легко использовать библиотеки XML для выбора частей интересующего вас файла XMI.
ArgoUML может импортировать XMI в свою модель UML и генерировать код для Java, C++, C#, PHP4 и PHP5.
Может быть, просто посмотрите Преобразование XMI в HTML . Это должно помочь вам начать работу с XSLT и XMI.
Чтобы читать XMI/UML с помощью EMF, вам нужно найти, сгенерировать или написать модель ECore для UML. Как только вы получите такую модель, вы сможете генерировать классы in-memory для работы с UML и использовать другую инфраструктуру EMF.
Но более простым путем может быть использование инфраструктуры UML2, разработанной проектом Eclipse MDT. (Я предполагаю, что он использует EMF под капотом и что где-то там есть модель ECore для UML2)
.