Elements are described with tag name e, dependencies (or relationships) with tag name r and attributes with tag name a. Dependencies are directed and declared in the source side. The target of the dependency is referred with numeric id to keep format compact. Those elements that are not associated with incoming dependencies do not need numeric identifiers, like in the example below.
Refer to AgileBrowser/FullUserGuide/Deps for clarification.
<?xml version='1.0' encoding='UTF-8'?>
<model version="2.0">
<elements t="architecture">
<a n="model_creation_time" v="2011-01-17T15:13:32.810000+02:00" />
<e n="Applications">
<e n="FooApp" t="QMLApp">
<r r="1" t="uses"/>
</e>
</e>
<e n="System">
<e i="1" n="baz">
<a n="license" v="LGPL"/>
</e>
</e>
</elements>
</model>
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:attribute name="i" type="xs:positiveInteger"/> <xs:attribute name="r" type="xs:positiveInteger"/> <xs:attribute name="n" type="xs:string"/> <xs:attribute name="v" type="xs:string"/> <xs:attribute name="t" type="xs:string"/> <xs:attribute name="version" type="xs:string"/> <xs:element name="model"> <xs:complexType> <xs:sequence> <xs:element ref="elements"/> </xs:sequence> <xs:attribute ref="version" use="required"/> </xs:complexType> </xs:element> <xs:element name="elements"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element ref="a"/> <xs:element ref="e"/> </xs:choice> <xs:attribute ref="t" use="required"/> </xs:complexType> </xs:element> <xs:element name="e"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element ref="e"/> <xs:element ref="a"/> <xs:element ref="r"/> </xs:choice> <xs:attribute ref="n" use="required"/> <xs:attribute ref="t"/> <xs:attribute ref="i"/> </xs:complexType> </xs:element> <xs:element name="r"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" ref="a"/> </xs:sequence> <xs:attribute ref="r" use="required"/> <xs:attribute ref="t" use="required"/> </xs:complexType> </xs:element> <xs:element name="a"> <xs:complexType> <xs:attribute ref="n" use="required"/> <xs:attribute ref="v" use="required"/> </xs:complexType> </xs:element> </xs:schema>