including strings of characters from a variety of character sets. In order to specify the value which is carried, they require
a defined notation which does not determine the representation of the value. This is supplemented by the specification of
one or more algorithms called encoding rules which determine the value of the session layer octets carrying such
application layer values (called the transfer syntax). The presentation layer protocol (see Recommendation X.226) can
negotiate which transfer syntaxes are to be used.
The purpose of specifying a value is to distinguish it from other possible values. The collection of the value
together with the values from which it is distinguished is called a type, and one specific instance is a value of that type.
More generally, a value or type can often be considered as composed of several simpler values or types, together with
the relationships between them. The term datatype is often used as a synonym for type.
In order to correctly interpret the representation of a value (whether by marks on paper or bits on
communication line), it is necessary to know (usually from the context), the type of the value being represented. Thus
the identification of a type is an important part of this Recommendation.
A very general technique for defining a complicated type is to define a small number of simple types by
defining all possible values of the simple types, then combining these simple types in various ways. Some of the ways of
defining new types are as follows:
a)
given an (ordered) list of existing types, a value can be formed as an (ordered) sequence of values, one
from each of the existing types; the collection of all possible values obtained in this way is a new type; (if
the existing types in the list are all distinct, this mechanism can be extended to allow omission of some
values from the list);
b)
given a list of (distinct) existing types, a value can be formed as an (unordered) set of values, one from
each of the existing types; the collection of all possible values obtained in this way is a new type; (the
mechanism can again be extended to allow omission of some values);
c)
given a single existing type, a value can be formed (ordered) sequence or (unordered) set of zero, one or
more values of the existing type; the (infinite) collection of all possible values obtained in this way is a
new type;
d)
given a list of (distinct) types, a value can be chosen from any one of them; the set of all possible values
obtained in this way is a new type;
e)
given a type, a new type can be formed as a subset of it by using some structure or order relationship
among the values;
Types which are defined in this way are called structured types.
Every type defined using the notation specified in this Recommendation is assigned a tag. The tag is defined
either by this Recommendation or by the user of the notation.
It is common for the same tag to be assigned to many different types, the particular type being identified by the
context in which the tag is used.
The user of the notation may choose to assign distinct tags to two occurrences of a single type, thereby
creating two distinct types. This can be necessary when it is required to distinguish which choice has been made in
situations such as d) above.
Four classes of tag are specified in the notation.
The first is the universal class. Universal class tags are only used as specified within this Recommendation,
and each tag is either
a)
assigned to a single type; or
b)
assigned to a construction mechanism.
The second class of tag is the application class. Application class tags are assigned to types by other standards
or Recommendations. Within a particular standard or Recommendation, an application class tag is assigned to only one
type.
The third class is the private class. Private class tags are never assigned by ISO Standards or CCITT
Recommendations. Their use is enterprise specific.
The final class of tag is the context-specific class. This is freely assigned within any use of this notation, and is
interpreted according to the context in which it is used.
Fascicle VIII.4 - Rec. X.208
5