In the domains of the element values , all values are given, which may be take by an actual value in an element. These domains are therefore not for values, which are supplied by variables. The list of with domains for values determines the storage space requirements for individual values and is therefore hereinafter also called memory domains. Since the values in the elements, may not take all values in the domains, for example, if mostly variables are used in the elements, the number of different actual values in the elements may be well below the possible values in the domain of the element . It is for example possible that a RGB color image with possible colors only use 16 colors. To store the 16,777,216 colors of the domains 24 bits are needed, but for the 16 colors, only 4 bits are enough (similar to indexed colors in images).
The domains for values are inherited from the domains for elements of the same root-element. If for an element no domain in is given, the domain of is taken for the values of the element. The domains, which inherits, are passed down to . Precedence in inheritance, however, have from the same root-element (such as the ) inherited . Inherited will be always the domain for an element, which appears next in the current or next higher root-elements.
Or also: For a root-element the will be inherited from the specified domains of of the same root-element. Still missing domains in will be inherited from the, possibly inherited, domains of the of the next higher root-element.
The in specified domains must be compatible with the corresponding domains in . For example, the number of elements in a vector in a domain for an element in have to be the same as in the corresponding (possibly inherited) domain in . In particular, a domain for values from for an element has to be a subset of the (general) domain of for the element. (Elements may only take values, for which they are defined.)