When you import or export Packages from an Enterprise Architect model to XMI, the import or export process can be validated using a Data Type Definition (DTD). Several DTDs for XMI/UML exist; the OMG defines a standard UML1.3 DTD for use in XMI 1.1, and Enterprise Architect uses an extension of this with some additional element extensions for non-standard UML types, such as testing details.

The XML parser uses the DTD to validate the correctness of the model and to check that no syntactical errors have occurred. It is always best to use a DTD when moving Packages between Enterprise Architect models, as it ensures correctness of the XMI output and prevents attempted imports of incorrect XML.

Whenever you read an XML file, the XML parser looks in the current directory for the DTD - if specified - using the DOCTYPE element in the XML file. If the parser cannot find the DTD, it records an error and aborts processing; the UML_EA.DTD file must be in the current XML output path (generated by default).

Learn more