Javier Muñoz alerted me this morning that my XMI Transformation service did not work with XMI files exported by ArgoUML v. 0.28 .
It is true that my service was tested using version 0.24 but, honestly, the last thing I was expecting is that ArgoUML decided to make changes on its XMI format as part of such a small version update.
Unfortunately, they did make changes. In previous versions, the XMI file was self contained (e.g. all the data type information was stored in the same file) but in thew new one, the XMI requires two external xmi files (the default UML profile and the default Java profile ) that contain information about predefined data types and stereotypes (among other elements).
Therefore, as an example, the definition of an attribute changes from (v. 024)
<UML:Attribute xmi.id = '37' name = 'newAttr' ...>
<UML:DataType xmi.idref ='31'/>
<UML:DataType xmi.id = '31' name = 'INT' .../>
to (v. 028)
<UML:Attribute xmi.id = '-64--88-0-30-7f21b:124076a85b0:-8000:0000000000000CDF' name = 'newAttr' ...>
. . .
<UML:DataType href= 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086C'/>
I’ve already updated my service to support this new ArgoUML version.