<complexType name="SolidType">
<annotation>
<documentation>A solid is the basis for 3-dimensional geometry. The extent of a solid is defined by the boundary surfaces (shells). A shell is represented by a composite surface, where every shell is used to represent a single connected component of the boundary of a solid. It consists of a composite surface (a list of orientable surfaces) connected in a topological cycle (an object whose boundary is empty). Unlike a Ring, a Shell's elements have no natural sort order. Like Rings, Shells are simple.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractSolidType">
<sequence>
<element name="exterior" type="gml:SurfacePropertyType" minOccurs="0">
<annotation>
<appinfo>
<sch:pattern name="Check either href or content not both">
<sch:rule context="gml:exterior">
<sch:extends rule="hrefOrContent"/>
</sch:rule>
</sch:pattern>
</appinfo>
<documentation>Boundaries of solids are similar to surface boundaries. In normal 3-dimensional Euclidean space, one (composite) surface is distinguished as the exterior. In the more general case, this is not always possible.</documentation>
</annotation>
</element>
<element name="interior" type="gml:SurfacePropertyType" minOccurs="0" maxOccurs="unbounded">
<annotation>
<appinfo>
<sch:pattern name="Check either href or content not both">
<sch:rule context="gml:interior">
<sch:extends rule="hrefOrContent"/>
</sch:rule>
</sch:pattern>
</appinfo>
<documentation>Boundaries of solids are similar to surface boundaries.</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>