<xs:complexType name="CityObjectGroupType">
<xs:annotation>
<xs:documentation> A group may be used to aggregate arbitrary CityObjects according to some user-defined criteria. Examples
for groups are the buildings in a specific region, the result of a query, or objects put together for visualization
purposes. Each group has a name (inherited from AbstractGMLType), functions (e.g., building group), a class and zero or
more usages. A geometry may optionally be attached to a group, if the geometry of the whole group differs from the
geometry of the parts. Each member of a group may be qualified by a role name, reflecting the role each CityObject plays
in the context of the group. As subclass of _CityObject, a CityObjectGroup inherits all attributes and relations, in
particular an id, names, external references, and generalization relations. As CityObjectGroup itself is a CityObject, it
may also be contained by another group. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="groupMember" type="CityObjectGroupMemberType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="parent" type="CityObjectGroupParentType" minOccurs="0"/>
<xs:element name="geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfCityObjectGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>