PowerDesigner models are made up of objects, the properties and interactions of which are explained in the public metamodel.
You can use the PowerDesigner public metamodel (see The PowerDesigner Public Metamodel) to better understand the format of PowerDesigner XML files.
Object names, as declared in markup <o:name of object>, correspond to public names in the metamodel. You can search for an object in the metamodel using the object name found in the XML file.
Once you have found and located the object in the metamodel you can read the following information:
Each PowerDesigner object can have several collections corresponding to other objects to interact with, these collections are represented by the associations existing between objects. The roles of the associations (aggregations and compositions included) correspond to the collections of an object. For example, each PowerDesigner model contains a collection of domains called Domains.
Usually associations have only one role, the role is displayed at the opposite of the class for which it represents a collection. However, the metamodel also contains associations with two roles, in such case, both collections cannot be saved in the XML file. You can identify the collection that will be saved from the association property sheet: the role where the Navigable check box is selected is saved in the file.
In the following example, association has two roles which means Classifier has a collection Actors, and Actor2 has a collection ImplementationClasses:
If you display the association property sheet, you can see that the Navigable check box is selected for role ImplementationClass, which means that only collection ImplementationClass will be saved in file.
Attributes with the IOBJECT data type are attributes in the metamodel while they appear as collections containing a single object in the XML file. This is not true for Parent and Folder that do not contain any collection.