The international standards for geographic information provide unambiguous definitions of geometric primitives, with the aim of fostering exchange and interoperability in the geographical information system (GIS) community. In two dimensions, the standards are wellaccepted and there are algorithms (and implementations of these) to validate primitives, i.e. given a polygon, they ensure that it respects the standardised definition (and if it does not a reason is given to the user). However, while there exists an equivalent definition in three dimensions (for solids), it is ignored by most researchers and by software vendors. Several different definitions are indeed used, and none is compliant with the standards: e.g. solids are often defined as 2-manifold objects only, while in fact they can be non-manifold objects. Exchanging and converting datasets from one format/platform to another is thus highly problematic. I present in this paper a methodology to validate solids according to the international standards. It is hierarchical and permits us to validate the primitives of all dimensionalities. To understand and study the topological relationships between the different parts of a solid (the shells) the concept of Nef polyhedron is used. The methodology has been implemented in a prototype, and I report on the main engineering decisions that were made and on its use for the validation of real-world three-dimensional datasets.