У меня есть приложение, которое читает входной файл xml и создает модель emf/ecore (которую можно хранить в виде файла xmi).

Файл входного формата «заблокирован», что означает, что никакие новые теги, атрибуты и т. д., которые еще не определены в файле, не могут появиться. Но количество существующих тегов или значений атрибутов может измениться.

Теперь я хотел бы поддержать следующий сценарий:

1) Пользователь импортирует xml_01, и создается модель emf.

2) Пользователь изменяет модель и сохраняет ее на диск.

3) Пользователь импортирует xml_02, который почти идентичен xml_01, но с некоторыми дополнительными узлами.

4) Во время второго импорта существующая модель должна быть обновлена ​​на основе дополнительного содержимого из xml_02 и возможных конфликтов, о которых сообщается пользователю.

Теперь у меня есть идея, как начать с этого — писать программу обновления с нуля.

Но существуют ли какие-либо инструменты/библиотеки, которые можно использовать для написания такого средства обновления, особенно когда речь идет об изменении модели ЭДС?

1
u123 14 Апр 2011 в 15:57

1 ответ

Я не знаю каких-либо сторонних библиотек, которые могут это сделать напрямую. Но насколько я понимаю, вы можете использовать SAX синтаксические анализаторы для анализа XML-файлов и реализации собственных Handler для требуемой функциональности.

0
Swaranga Sarma 14 Апр 2011 в 16:11