A set attribute is a collection of other attributes. The major benefit of a set attribute is that new attributes of a variety of different types can be added or existing ones removed as required. Direct manipulation of set attributes is somewhat more complex than simply editing the value of a single attribute, consequently it is more usual for elements of a set attribute to be processed using specially written operations accessed from the application menu.
There are three subtypes of set attributes that can be specified to restrict the type and/or number of attributes that be elements. A Tuple has a fixed number and fixed types for its elements. A Vector has a fixed element type but any number of elements. An Array has a fixed element type and a fixed number of elements. These subtypes are normally handled by special code.