Как импортировать любые файлы UML/XMI в StarUML?

Я пытаюсь импортировать диаграмму UML (проекта C++), которую я разработал в программе под названием Visual Paradigm.

Эта программа позволяет мне сохранять диаграмму UML в различных форматах.

Изображение)

и когда я выбираю формат XMI (поддерживаемый StarUML через расширение), он позволяет мне выбрать версию XMI для сохранения файла.

Изображение

Проблема возникает, когда я пытаюсь импортировать файл в StarUml: когда я пытаюсь загрузить файл XMI (я перепробовал все версии), полученный от V.P. пишет "Не удалось загрузить файл";

Изображение

С другой стороны, если я сохраню диаграмму в формате UML2, а затем попытаюсь открыть ее, StarUML просто ничего не сделает.

Есть ли у Вас какие-либо предложения по решению этой проблемы?

Вот zip-архив с другим более простым проектом, содержащим исходный код и файлы XMI (разные версии), созданные Visual Paradigm: Проект.rar


person Spectre_k9    schedule 16.02.2020    source источник
comment
можете ли вы попробовать с простым проектом, содержащим, например, только один класс, что позволит вам предоставить нам XMI, созданный в двух случаях, если этот сокращенный проект не может быть импортирован?   -  person bruno    schedule 16.02.2020
comment
Передача XMI работает только по совпадению. Если повезет, хорошо. Если нет: спросите у поставщика инструмента, как/поддерживается ли источник от производителя. Большинство инструментов привносят в XMI свои особенности, а другие либо запутываются, либо сдаются.   -  person qwerty_so    schedule 16.02.2020


Ответы (1)


В проблемах StarUML Github есть что-то очень похожее на вашу проблема.

У меня была та же проблема, и предложенный обходной путь сработал для меня, найдите файл xmi-reader.js, затем измените в функции loadFromFile строку:

var XMINode = dom.getElementsByTagName('XMI')[0]

to

var XMINode = dom.getElementsByTagName('xmi:XMI')[0]

Добавление пространства имен xmi: к имени элемента заставляет его работать.

В зависимости от вашей версии StarUML имя файла может быть xmi21-reader.js.

person LeonFibuck    schedule 05.11.2020
comment
Большое спасибо! В Windows 7 файл для редактирования: C:\Users\YourUser\AppData\Roaming\StarUML\extensions\user\staruml.xmi\xmi21-reader.js - person 244an; 12.03.2021