When multiple data structures share the same set of attributes, use this technique to eliminate copy&paste and maintain the shared attributes in one place.
For example, assume all code tables should have Label, Valid from and Valid until attributes. To facilitate this, create a Code table data structure to hold these attributes, set it to expand its attributes and refer to it from each data structure that represents a code table:
<data-structure name="Code table" code="CodeTable" expand="true">
<description>A base entity for all code tables.</description>
<attribute name="Label" />
<attribute name="Valid from" />
<attribute name="Valid until" />
</data-structure>
<data-structure name="Code table Country" code="Country">
<attribute name="Code" code="code" status="mandatory" type="string" length="2"
description="The ISO standard country code." />
<attribute name="Shared attributes of all code tables" type="CodeTable" />
</data-structure>
<data-structure name="Code table Currency" code="Currency">
<attribute name="Code" code="code" status="mandatory" type="string" length="3"
description="The ISO standard currency code." />
<attribute name="Shared attributes of all code tables" type="CodeTable" />
</data-structure>
<data-structure name="Code table Gender" code="Gender">
<attribute name="Code" code="code" status="mandatory" type="string" length="1" />
<attribute name="Shared attributes of all code tables" type="CodeTable" />
</data-structure>Now the Label, Valid from and Valid until attributes are propagated to the Country, Currency and Gender data structures.
| Next >> |