XML software developers at IBM alphaWorks Laboratory have released the XMI Framework, which is "a simple Java API for saving and loading XML Metadata Interchange (XMI) files and creating XMI DTDs. Its purpose is to help users learn XMI. XMI Framework supports XMI version 1.0 and version 1.1. You can use the framework object model to represent your data and models, or you can use your own classes. You can also generate Java code from framework models and UML XMI files. Any XML parser that supports the JAXP 1.0 interface may be used." The related IBM XMI Toolkit is a Java component "that converts UML information between Rational Rose Models and XMI-standard XML files. The Toolkit can also generate DTDs directly from UML models; a Reference Implementation of XMI, with source code is included. IBM alphaWorks provides early adopter developers direct access to IBM's emerging 'alpha-code' technologies. The software design teams endeavor to involve developers in the earliest stages, before integration of technologies into products."
From the web site description:
XMI (XML Metadata Interchange) provides a way to interchange object-oriented models and data using XML. XMI is a standard from the OMG (Object Management Group) that uses your UML information to create XML documents and DTDs for you automatically. XMI makes XML even easier by leveraging UML's graphical ability to generate XML. XMI makes interchange easier because you can keep your DTDs, software designs, and XML documents synchronized.
The XMI Framework and the XMI Toolkit: The XMI Toolkit is another alphaWorks technology that enables you to create XMI files containing UML models, to create Java code from UML models, and to convert Java code back to UML models. The XMI Framework initially shipped with the XMI Toolkit. It was separated from the XMI Toolkit to make it easier for you to use the framework with different XML parsers; the XMI Toolkit bundled a specific parser. Also, the XMI Framework was the only programming API in the XMI Toolkit, so it seemed best to separate it so the API can be updated independently of the XMI Toolkit. If you wish to generate XMI DTDs or Java code from UML models, you need to use the XMI Toolkit to produce a UML XMI file; the XMI Framework can use those files as input. However, you can also create models using the XMI Framework APIs, so you are not required to create them in a tool such as Rational Rose.
Requirements: XMI Framework runs on any platform that has a JDK 1.2.2 virtual machine (NOTE: Only the Windows NT platform has been tested). It requires JDK 1.2.2 or above. You also need an XML parser that supports the Java API for XML Parsing 1.0 interfaces, such as Xerces 1.1.2 and above and IBM's XML4J parser, version 3.1.0 and above. Minimum recommended hardware is equivalent to a Pentium, 90 MHz, 64 MB RAM. Recommended hardware is equivalent to or greater than a Pentium II, 300 MHz, 128 MB RAM. Download: 772 KB.