OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide
GPI Object Management
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide—424822-001
3-4
Objects and X.400 Messages
Objects Are Grouped Into Classes
Within XAPIA specifications, objects are categorized into classes based on the attribute 
types contained in the objects. Attribute types are described later in Attribute Type on 
page 3-11.  For example, suppose there are five types, named A, B, C, D, and E.
As shown in Figure 3-3, objects that have attributes of types A and B are grouped into a 
class called X.  Objects that have attributes of types D and E are grouped into a class 
called Y.  Like the names for attribute types, X and Y are arbitrary names chosen for the 
purpose of this example.  They are not actual XAPIA class names.
Two of the objects in class X also have an attribute that is optional for that class, type C. 
Most XAPIA classes have both optional and required attributes. 
Each member of a class can be called an instance of that class. An object that does not 
contain a required attribute for its class is called a malformed object. 
In this example, objects of class X do not have any attributes that are also contained in 
objects of class Y. In other words, object classes X and Y do not have any attributes in 
common. However, some XAPIA classes actually do have attributes in common.
Objects and X.400 Messages
To the client, objects represent X.400 messages or their parts. Depending on the 
complexity of the information involved, an object representation might have several 
levels. This is best illustrated by an example. Consider, for instance, a message with 
interpersonal message (IPM) content. Figure 3-4 shows one possible first level root 
object representation of such a message.
Figure 3-3. Object Classes
303CDT .CDD
Attribute Type A
Attribute Type B
Attribute Type C
OBJECT
Attribute Type A
Attribute Type B
Attribute Type C
OBJECT
Attribute Type A
Attribute Type B
OBJECT
o
o
Class X
Attribute Type D
Attribute Type E
OBJECT
Attribute Type D
Attribute Type E
OBJECT
Class Y
Legend
o 
optional for this class










