Sample Repository Model in XMI format

<?xml version="1.0" encoding="UTF-8"?>

<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmlns:repositorymodel="http://www.tibco.com/mdm/repositorymodel/1.0">

<repositorymodel:DataDomain xmi:id="_x1dGILdLEd-A7OOtbkUsRg">

<Repository xmi:type="repositorymodel:Repository" xmi:id="_repository_ADDRESS" Name="ADDRESS" Description="ADDRESS">

<AttributeGroup xmi:type="repositorymodel:AttributeGroup" xmi:id="_attributegroup_ADDRESS_UNASSIGNED" Name="UNASSIGNED" Description="UNASSIGNED">

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_ADDRESS_PRODUCTID" Name="ID" Description="Unique identifier for current entity." DisplayName="Record ID" ColumnName="CPRODUCTID" DisplayInRecordList="true" QuickViewable="true" Length="255"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_ADDRESS_PRODUCTIDEXT" Name="IDEXT" Description="Auxiliary identifier for current entity." DisplayName="Record ID Extension" ColumnName="CPRODUCTIDEXT" QuickViewable="false" Length="255"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_ADDRESS_CONTAINS" Name="CONTAINS" Description="Contains" DisplayName="Related Records" ColumnName="CCONTAINS" QuickViewable="false" Length="4000"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_ADDRESS_ADDRESS1" Name="Address1" Description="ADDRESS1" DisplayName="Address1" DisplayInRecordList="true" QuickViewable="false" Length="256"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_ADDRESS_ZipCode" Name="ZipCode" Description="ZipCode" DisplayName="ZipCode" Type="Integer" QuickViewable="false" Length="256"/>

</AttributeGroup>

<AttributeGroup xmi:type="repositorymodel:AttributeGroup" xmi:id="_attributegroup_ADDRESS_SYSTEM" Name="SYSTEM" Description="SYSTEM"/>

</Repository>

<Repository xmi:type="repositorymodel:Repository" xmi:id="_repository_CUSTOMER" Name="CUSTOMER" Description="Customer" TableName="Customer">

<AttributeGroup xmi:type="repositorymodel:AttributeGroup" xmi:id="_attributegroup_CUSTOMER_UNASSIGNED" Name="UNASSIGNED" Description="UNASSIGNED">

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_CUSTOMER_PRODUCTID" Name="ID" Description="Unique identifier for current entity." DisplayName="Record ID" ColumnName="CPRODUCTID" DisplayInRecordList="true" QuickViewable="true" Length="255" Position="1"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_CUSTOMER_PRODUCTIDEXT" Name="IDEXT" Description="Auxiliary identifier for current entity." DisplayName="Record ID Extension" ColumnName="CPRODUCTIDEXT" QuickViewable="false" Length="255" Position="2"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_CUSTOMER_CONTAINS" Name="CONTAINS" Description="Contains" DisplayName="Related Records" ColumnName="CCONTAINS" QuickViewable="false" Length="4000" Position="3"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_CUSTOMER_FIRSTNAME" Name="FirstName" Description="FIRSTNAME" DisplayName="FirstName" DisplayInRecordList="true" QuickViewable="false" Length="256" Position="5"/>

<Attribute xmi:type="repositorymodel:Attribute" xmi:id="_attribute_CUSTOMER_LASTNAME" Name="LastName" Description="LASTNAME" DisplayName="LastName" DisplayInRecordList="true" QuickViewable="false" Length="256" Position="6" Help="LASTNAME"/>

</AttributeGroup>

<AttributeGroup xmi:type="repositorymodel:AttributeGroup" xmi:id="_attributegroup_CUSTOMER_SYSTEM" Name="SYSTEM" Description="SYSTEM"/>

</Repository>

<Relationship xmi:type="repositorymodel:Relationship" xmi:id="_relationship_AddToCust" Name="AddToCust" Description="AddToCust" ReverseName="CustToAdd" ReverseDescription="CustToAdd" sourceRepository="_repository_ADDRESS" targetRepository="_repository_CUSTOMER"/>

<GroupConnector xmi:type="repositorymodel:GroupConnector" xmi:id="AddToCust_GroupConnector" sourceRelationshipAttributeGroup="_ragroup_ADDRESS_AddToCust" targetRelationship="_relationship_AddToCust"/>

<GroupConnector xmi:type="repositorymodel:GroupConnector" xmi:id="OrgtoCust_GroupConnector" sourceRelationshipAttributeGroup="_ragroup_CUSTOMER_OrgtoCust"/>

<RelationshipAttributeGroup xmi:type="repositorymodel:RelationshipAttributeGroup" xmi:id="_ragroup_ADDRESS_AddToCust" Name="ADDRESS_AddToCust" Description="ADDRESS_AddToCust">

<RelationshipAttribute xmi:type="repositorymodel:RelationshipAttribute" xmi:id="_relationshipattribute_ADDRESS_AddToCust_AddressType" Name="AddressType" Description="AddressType" DisplayName="AddressType" Searchable="false" DisplayInRecordList="false" Length="256" Position="1"/>

</RelationshipAttributeGroup>

<RelationshipAttributeGroup xmi:type="repositorymodel:RelationshipAttributeGroup" xmi:id="_ragroup_CUSTOMER_OrgtoCust" Name="CUSTOMER_OrgtoCust" Description="CUSTOMER_OrgtoCust">

<RelationshipAttribute xmi:type="repositorymodel:RelationshipAttribute" xmi:id="_relationshipattribute_CUSTOMER_OrgtoCust_CustomerType" Name="CustomerType" Description="CustomerType" DisplayName="CustomerType" Searchable="false" DisplayInRecordList="false" Length="256" Position="1"/>

<RelationshipAttribute xmi:type="repositorymodel:RelationshipAttribute" xmi:id="_relationshipattribute_CUSTOMER_OrgtoCust_CustomerSince" Name="CustomerSince" Description="CustomerSince" DisplayName="CustomerSince" Type="Date" Searchable="false" DisplayInRecordList="false" Length="0" Position="2"/>

</RelationshipAttributeGroup>

</repositorymodel:DataDomain>

<notation:Diagram xmi:id="_x15yELdLEd-A7OOtbkUsRg" type="DataDomain" element="_x1dGILdLEd-A7OOtbkUsRg" measurementUnit="Pixel">

</notation:Diagram>

</xmi:XMI>

The structure of the repository format is an XMI format with a DataDomain, which contains following elements:

Each element has following two attributes:

  • xmi:id — An element identifier that must be unique and used to specify relationships between elements.
  • xmi:type — Type of the elements it represents.

Repository

Represents a CIM repository. It can contain one or more attribute groups.

xmi:type - repositorymodel:Repository

It has the following attributes:

Name Description
Name Name of the repository
Description Description of the repository
TableName The name of the database table for the repository

AttributeGroup

Represents the Attribute Group from a CIM repository which is a logical grouping of attributes in a repository. It can contain one or more attributes.

xmi:type - repositorymodel:AttributeGroup

Attributes:

Attribute Description
Name Name of the attribute group
Description Description of the attribute group

Attribute

The fundamental entity (leaf node) in the model; represents an attribute of the CIM repository.

xmi:type - repositorymodel:Attribute

It has the following attributes:

Attribute Description
Name Name of attribute
Description Description of attribute
DisplayName Display name of attribute
DisplayInRecordList Represents 'Display In Record List' property
QuickViewable Represents QuickViewable property of CIM attribute
Length Length for an attribute type
Position The position for an attribute. This gets populated automatically when exporting from CIM Studio and it is recommended that you do not populate this attribute.
ColumnName Database column name for attribute
Searchable Represents Searchable property of an attribute, value should be true or false.
MultiValue Represents MultiValue property of an attribute, value should be true or false.
MultiValueTableName Database table name for multi-value attribute
Help Help text for attribute
Type Data type of attribute. Valid values are Integer, String, Amount, Boolean, File, Date, Decimal, Custom Decimal, Timestamp, Long, and URL.

Relationship

Represents a relationship between two repositories.

xmi:type - repositorymodel:Relationship

It has following attributes:

Attribute Description
Name Name of the relationship
ReverseName Reverse relationship name
sourceRepository The xmi:id of the source repository
targetRepository The xmi:id of the target repository

RelationshipAttributeGroup

A RelationshipAttributeGroup is a container for one or more relationship attributes. There is no corresponding concept in CIM, it just graphical representation to hold relationship attributes together.

xmi:type - repositorymodel:RelationshipAttributeGroup

RelationshipAttribute

A RelationshipAttribute represent a minimal data item associated to a relationship in the structured data model and represents the CIM relationship attribute.

xmi:type - repositorymodel:RelationshipAttribute

It has following attributes:

Attribute Description
Name Name of attribute
Description Description of attribute
DisplayName Display name of attribute
DisplayInRecordList Represents 'Display In Record List' property
Length Length of attribute type
Position The position for attribute. This gets populated automatically when export from CIM Studio and is recommended not to populate this attribute.
ColumnName Database column name for attribute
Searchable Represents Searchable property of an attribute, value should be true or false.
Help Help text for attribute
Type Data type of attribute. Valid values are:
  • Integer
  • String
  • Amount
  • Boolean
  • File
  • Date
  • Decimal
  • Custom Decimal
  • Timestamp
  • Long
  • URL

GroupConnector

It connects a RelationshipAttributeGroup, the group of relationship attributes to the associated Relationship link.

xmi:type - repositorymodel:GroupConnector

It has following attributes:

Attribute Description
sourceRelationshipAttributeGroup The xmi:id of the RelationshipAttributeGroup element.
targetRelationship The xmi:id of the Relationship element.