Partitioning a group type using identifiers

About this task

In a component list, only one component can have the identifier attribute.

The identifier attribute distinguishes the components that can be used to identify the type to which a data object belongs. Typically, use this technique to distinguish group partitions when components following the identifier are different for each partition, or, if you have a multilevel partitioned subtree. In the latter case, using an identifier accelerates data validation.

A partition is valid when each component up to and including the identifier is validated. If the set of components is valid, the partition exists.

If the identifier set of components is not valid, the partition is determined not to exist. Either validation occurs for the next partition at the same level (if there is one) or it is determined that the partitioned group does not exist.

If the partition exists, what occurs next depends on the position of the partition type in the subtree.

  • If the partition is partitioned (that is, it has subtypes), the rest of the components are skipped and the process begins to validate subtypes until a subtype is valid, exists and is in error, or does not exist.
  • If the partition has no subtypes, the remaining components are validated. If all remaining components are valid, the partition not only exists, but also is valid. If one or more components are found to be in error, the partition exists, but its type is in error. If the partition exists, but its type is in error, the error is propagated back up the partitioned subtree until the group being validated is reached. When a partition is found to exist, the system will not continue to search for partitions.

To specify a component as the identifier:

Procedure

  1. From the schema editor, double-click a component. The Component view opens.
  2. In the Component column, right-click on the component and choose Identifier from the context menu.

Results

The identifier symbol appears in the component column next to the component name.