-
Notifications
You must be signed in to change notification settings - Fork 5
Description
| --- | --- |
| Bugzilla Link | 562833 |
| Status | NEW |
| Importance | P3 normal |
| Reported | May 05, 2020 09:30 EDT |
| Modified | May 06, 2020 04:00 EDT |
| See also | 562862 |
| Reporter | Ed Willink |
Description
Once 20131001 family namespaces are available, separate bug, attempting to load https://www.omg.org/spec/UML/20161101/UML.xmi which is a UML 2.5 serialization fails with (using repro approach below)
org.eclipse.emf.ecore.xmi.PackageNotFoundException: Package with uri 'null' not found. (platform:/resource/org.eclipse.uml2/model/UML.xmi, 3, 17)
org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'documentation' is not found or is abstract. (platform:/resource/org.eclipse.uml2/model/UML.xmi, 3, 17)
This is caused by a documentation preamble
<xmi:XMI xmlns:uml="http://www.omg.org/spec/UML/20131001"\
xmlns:xmi="http://www.omg.org/spec/XMI/20131001"\
xmlns:mofext="http://www.omg.org/spec/MOF/20131001">\
UML.xmi: XMI representation of the metamodel for UML 2.5.1.
<uml:Package xmi:type="uml:Package" xmi:id="_0" name="UML"
At first sight the problem is badly formed XML, since the 'root' documentation element uses an undeclared blank xmlns.
But no, documentation is a valid xmi:XMI element child.
This problem can be reproduced by editing /org.eclipse.uml2/model/UML.xmi to add the root and then open with the UML Model Editor.
It appears that child xmi elements are not honored.
(Workaround use xmi:Documentation but OMG didn't do that.)
Additional confusion, the spelling of "documentation" has been consistent in the diagrams of the XMI 2.0 and later specification and in http://www.omg.org/spec/XMI/20110701/XMI.xsd, but up until XMI 2.5.1 and https://issues.omg.org/issues/XMI24-178, the spelling is also "Documentation" in the inline exposition of the XSD.
7.5.5 <xsd:element name="Documentation" type="Documentation"/>