from OGC-SFS section 6.1.13.1:
The geometric interiors of any two Surfaces in a MultiSurface may not intersect in the full coordinate system. The boundaries of any two coplanar elements in a MultiSurface may intersect, at most, at a finite number of Points. If they were to meet along a curve, they could be merged into a single surface. MultiSurface is an instantiable class in this Standard, and may be used to represent heterogeneous surfaces collections of polygons and polyhedral surfaces. It defines a set of methods for its subclasses. The subclass of MultiSurface is MultiPolygon corresponding to a collection of Polygons only. Other collections shall use MultiSurface.
OGC-SFS doesn't have a composite type direclty, as ISO and GML have. Although the PolyhedralSurface can be seen as one such case.
Geomatic aggregates are defined, from 6.5.1:
Arbitrary aggregations of geometric objects are possible. These are not assumed to have any additional internal structure and are used to “collect” pieces of geometry of a specified type.
GM_MultiSurface
is defined as (6.5.6.1):
GM_MultiSurface is an aggregate class containing only instances of GM_OrientableSurface. The association role “element” shall be the set of GM_OrientableSurfaces contained in this GM_MultiSurface.
Geometry complexes (CompositeXX) are defined in 6.6:
A geometric complex (GM_Complex) is a set of primitive geometric objects (in a common coordinate system) whose interiors are disjoint. Further, if a primitive is in a geometric complex, then there exists a set of primitives in that complex whose point-wise union is the boundary of this first primitive.
and in 6.6.1:
The underlying geometry of a complex is usually referred to as a “manifold”.
from 11.1:
Geometric aggregates (i.e. instances of a subtype of gml:AbstractGeometricAggregateType) are arbitrary aggregations of geometry elements. They are not assumed to have any additional internal structure and are used to "collect" pieces of geometry of a specified type.
Application schemas may use aggregates for features that use multiple geometric objects in their representations. Geometric complexes (i.e. instances of gml:GeometricComplexType) are closed collections of geometric primitives, i.e. they will contain their boundaries. A geometric complex (gml:GeometricComplex) is defined by ISO 19107:2003, 6.6.1 as ―a set of primitive geometric objects (in a common coordinate system) whose interiors are disjoint. Further, if a primitive is in a geometric complex, then there exists a set of primitives in that complex whose point-wise union is the boundary of this first primitive. A geometric composite (gml:CompositeCurve, gml:CompositeSurface and gml:CompositeSolid) represents a geometric complex with an underlying core geometry that is isomorphic to a primitive, i.e. it can be viewed as a primitive and as a complex. See ISO 19107:2003, 6.1 and 6.6.3 for more details on the nature of composite geometries.