The Mappings described in 2.2 provide a set of basic building blocks from which more complex Mappings may be constructed. The key to doing this is a type of MappingMapping called a CmpMapCmpMap, or compound Mapping. A CmpMap's role is, in principle, very simple: it allows any other pair of Mappings to be joined together into a single entity which behaves as if it were a single Mapping. A CmpMap is therefore a container for another pair of Mappings.
A pair of Mappings may be combined using a CmpMap in either of two ways. The first of these, in series, is illustrated in the following Figure.
The CmpMap forms the key to building arbitrarily complex Mappings because it is itself a form of Mapping. This means that a CmpMap may contain other CmpMaps as components (e.g. the Figure below). This nesting of CmpMaps can be repeated indefinitely, so that complex Mappings may be built in a hierarchical manner out of simper ones. This gives AST great flexibility in the coordinate transformations it can describe.