У меня есть несколько файлов XMI из разных инструментов моделирования UML (Visual Paradigm, PowerDesigner и т. д.). Каждый файл представляет собой простую диаграмму UML, где класс B просто расширяет класс A.
В среднем каждый файл содержит такой код:
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_kkgsMBeLEd60N8ipLbB6nA" name="ObjectOrientedModel_4">
<packagedElement xmi:type="uml:Class" xmi:id="_-0_24HdHEeCkkOWu36zbRw" name="A"/>
<packagedElement xmi:type="uml:Class" xmi:id="_--YcYHdHEeCkkOWu36zbRw" name="B">
<generalization xmi:id="_-_blQHdHEeCkkOWu36zbRw" general="_-0_24HdHEeCkkOWu36zbRw"/>
</packagedElement>
</uml:Model>
Я понимаю, где описаны uml:smth и xmi:smth, но не могу понять, откуда взяты теги типа packageElement и другие.
Я не нашел никакой информации в спецификациях OMG до того, как они достигли этой: http://www.omg.org/spec/XMI/2.4/Beta2/, но эти теги использовались до создания спецификации XMI 2.4.