Each repository can be defined with one or more XML repository definition files. The repository definition files used by a repository are specified by the definitionFiles property of the Repository component. The value of the definitionFiles property is the absolute name of an XML file in the application’s configuration path.

If more than one XML file is defined with the same path in different configuration path directories, they are combined using the XML combination rules described in the Nucleus: Organizing JavaBean Components chapter of the ATG Platform Programming Guide. This lets you modify one XML file by adding or removing item descriptors, properties, and tables in another layer of the configuration path.

XML file combination matches the item-descriptor, table, and property tags by name, operating from the outside tag inward. The changes that you make must exactly match the item descriptor, table, and property that you want to modify.

The following example file modifies the repository definition for the Profile repository, located at /atg/userprofiling/userProfile.xml:

<gsa-template>
  <item-descriptor name="user" cache-mode="locked" item-cache-size="500">
    <table name="dps_user">
      <property name="userType" data-type="enumerated">
        <option value="investor" code="1">
        <option value="broker" code="2">
        <option value="guest" code="3">
      </property>
    </table>
  </item-descriptor>
</gsa-template>

This modifies the standard repository definition as follows: