<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:core="http://www.govtalk.gov.uk/core" xmlns="http://www.netex.org.uk/netex" xmlns:netex="http://www.netex.org.uk/netex" targetNamespace="http://www.netex.org.uk/netex" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1" id="netex_grouping_version">
	<xsd:include schemaLocation="../netex_utility/netex_utility_types.xsd"/>
	<xsd:include schemaLocation="netex_grouping_support.xsd"/>
	<xsd:include schemaLocation="../netex_responsibility/netex_typeOfValue_version.xsd"/>
	<xsd:annotation>
		<xsd:appinfo>
			<Metadata xmlns="http://www.govtalk.gov.uk/CM/gms-xs">
				<Aggregation>main schema</Aggregation>
				<Audience>e-service developers</Audience>
				<Coverage>Europe</Coverage>
				<Creator>First Drafted for version 1.0 CEN TC278 WG3 SG6 Editor Nicholas Knowles.</Creator>
				<Date>
					<Created>2010-09-04</Created>
				</Date>
				<Date>
					<Modified>2014-03-31</Modified>
				</Date>
				<Date>
					<Modified>2014-03-31</Modified>
				</Date>
				<Date><Modified>2017-05-26</Modified> Fix GeneralGroupOfEntities in frame so that any type of group of entities allowed  
				</Date>
				<Date><Modified>2017-10-01</Modified>CR0006 Add infolinks to  GroupOfEntities so can have links on timetable etc.
				</Date>
				<Date><Modified>2023-11-07</Modified>CR0544 Deprecate PrivateCode.
				</Date>
				<Description>
					<p>NeTEx - Network Exchange. This subschema defines GROUPING types.</p>
				</Description>
				<Format>
					<MediaType>text/xml</MediaType>
					<Syntax>http://www.w3.org/2001/XMLSchema</Syntax>
					<Description>XML schema, W3C Recommendation 2001</Description>
				</Format>
				<Identifier>{http://www.netex.org.uk/schemas/1.0/xsd/netex_framework/netex_genericFramework}netex_grouping_version.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>Kizoom Software Ltd, 16 High Holborn, London WC1V 6BX</Publisher>
				<Rights>Unclassified
 <Copyright>CEN, Crown Copyright 2009-2017</Copyright>
				</Rights>
				<Source>
					<ul>
						<li>Created for NeTEx.</li>
					</ul>
				</Source>
				<Status>Version 1.0</Status>
				<Subject>
					<Category>Arts, recreation and travel, Tourism, Travel (tourism), Transport,
Air transport, Airports,
Ports and maritime transport, Ferries (marine),
Public transport, Bus services, Coach services, Bus stops and stations,
Rail transport, Railway stations and track, Train services, Underground trains,
Business and industry, Transport, Air transport , Ports and maritime transport, Public transport,
Rail transport, Roads and Road transport
</Category>
					<Project>CEN TC278 WG3 SG9.</Project>
				</Subject>
				<Title>NeTEx Network Exchange - GROUPING types.</Title>
				<Type>Standard</Type>
			</Metadata>
		</xsd:appinfo>
		<xsd:documentation>NeTEx: GROUPING types for NeTEx.</xsd:documentation>
	</xsd:annotation>
	<!-- =====GROUPING=============================================== -->
	<xsd:complexType name="groupOfEntitiesInFrame_RelStructure">
		<xsd:annotation>
			<xsd:documentation>Type for containment in frame of GROUP OF ENTITIes.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="containmentAggregationStructure">
				<xsd:sequence>
					<xsd:element ref="GroupOfEntities" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="GroupOfEntities" type="GroupOfEntities_VersionStructure" abstract="true" substitutionGroup="DataManagedObject">
		<xsd:annotation>
			<xsd:documentation>A grouping of ENTITies which will be commonly referenced for a specific purpose.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="GroupOfEntities_VersionStructure" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Type for a GROUP OF ENTITies.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="DataManagedObjectStructure">
				<xsd:sequence>
					<xsd:group ref="GroupOfEntitiesGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="GroupOfEntitiesGroup">
		<xsd:annotation>
			<xsd:documentation>Elements of a GROUP OF ENTITies.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Name" type="MultilingualString" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Name of GROUP OF ENTITies.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ShortName" type="MultilingualString" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Short Name of GROUP OF ENTITies.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Description" type="MultilingualString" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Further Description of a GROUP OF ENTITies.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="PurposeOfGroupingRef" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Reference to a PURPOSE OF GROUPING.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="PrivateCode" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>DEPRECATED - use privateCodes. -v2.0</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="infoLinks" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Hyperlinks associated with GROUP OF ENTITIES.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:extension base="infoLinks_RelStructure"/>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- =====GROUPING=============================================== -->
	<xsd:element name="GeneralGroupOfEntities" substitutionGroup="GroupOfEntities">
		<xsd:annotation>
			<xsd:documentation>A grouping of ENTITies which will be commonly referenced for a specific purpose.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="GeneralGroupOfEntities_VersionStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="DataManagedObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="GroupOfEntitiesGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="GeneralGroupOfEntitiesGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="GroupOfEntitiesIdType" use="required">
						<xsd:annotation>
							<xsd:documentation>Identifier of ENTITY.</xsd:documentation>
						</xsd:annotation>
					</xsd:attribute>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="GeneralGroupOfEntities_VersionStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a GENERAL GROUP OF ENTITies.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="GroupOfEntities_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="GeneralGroupOfEntitiesGroup"/>
				</xsd:sequence>
				<xsd:attribute name="nameOfMemberClass" type="NameOfClass">
					<xsd:annotation>
						<xsd:documentation>If group is homogeneous, name of CLASS of members.</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="GeneralGroupOfEntitiesGroup">
		<xsd:annotation>
			<xsd:documentation>Elements of a GENERAL GROUP OF ENTITies.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="members" type="objectRefs_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Members of GROUP OF ENTITies.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================================================================= -->
	<!-- ===== PURPOSE OF ROUPING=============================================== -->
	<xsd:element name="PurposeOfGrouping" substitutionGroup="TypeOfValue">
		<xsd:annotation>
			<xsd:documentation>Functional purpose for which GROUPs of elements are defined. The PURPOSE OF GROUPING may be restricted to one or more types of the given object.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="PurposeOfGrouping_ValueStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="EntityInVersionGroup" minOccurs="0"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="DataManagedObjectGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="TypeOfValueGroup"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="PurposeOfGroupingGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="PurposeOfGroupingIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="PurposeOfGrouping_ValueStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a PURPOSE OF GROUPING.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="TypeOfValue_VersionStructure">
				<xsd:sequence>
					<xsd:group ref="PurposeOfGroupingGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="PurposeOfGroupingGroup">
		<xsd:annotation>
			<xsd:documentation>Elements of a PURPOSE OF GROUPING.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="classes" type="classRefs_RelStructure" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Allowed class types for grouping.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="TypeOfEntity" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================================================================= -->
	<xsd:element name="AbstractGroupMember" abstract="true" substitutionGroup="VersionedChild">
		<xsd:annotation>
			<xsd:documentation>Abstract member of a GROUP OF ENTITY MEMBERs.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base="AbstractGroupMember_VersionedChildStructure">
					<xsd:sequence>
						<xsd:sequence>
							<xsd:group ref="VersionedChildGroup"/>
						</xsd:sequence>
					</xsd:sequence>
					<xsd:attribute name="id" type="GroupMemberIdType" use="required"/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="AbstractGroupMember_VersionedChildStructure" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Type for a GROUP OF ENTITY MEMBERs. Subclass this for specific member types.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="VersionedChildStructure">
				<xsd:sequence>
					<xsd:element name="Description" type="MultilingualString" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="order" type="xsd:positiveInteger" use="optional">
					<xsd:annotation>
						<xsd:documentation>Order of member within parent group. -v2.0</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- ======================================================================= -->
	<xsd:element name="GroupMember" type="GroupMember_VersionedChildStructure">
		<xsd:annotation>
			<xsd:documentation>General purpose member of a GROUP OF ENTITies.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="GroupMember_VersionedChildStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a General purpose member of a GROUP OF ENTITies.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="AbstractGroupMember_VersionedChildStructure">
				<xsd:sequence>
					<xsd:element name="GroupRef" type="VersionOfObjectRefStructure" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Parent GROUP OF ENTITies to which this member assigns service - If given by context, can be omitted.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element name="MemberObjectRef" type="VersionOfObjectRefStructure">
						<xsd:annotation>
							<xsd:documentation>Reference to a member of the group.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- ======================================================================= -->
	<xsd:element name="GroupConstraintMember" type="GroupConstraintMember_VersionedChildStructure" substitutionGroup="VersionedChild">
		<xsd:annotation>
			<xsd:documentation>Specifies a member of a set.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="GroupConstraintMember_VersionedChildStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a Group of Entities Constraint Member. Specifies an allowed class to include in a group.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="VersionedChildStructure">
				<xsd:sequence>
					<xsd:element name="PurposeOfGroupingRef" type="PurposeOfGroupingRefStructure" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Reference to a PUPOSE OF GROUPING to which this member belongs. If given by context does not need to be specified.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element name="MemberClassRef" type="ClassRefStructure">
						<xsd:annotation>
							<xsd:documentation>Allowed Class of Entity.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element name="MemberTypeOfValueRef" type="TypeOfValueRefStructure" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Allowed type of Entity.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- ======================================================================= -->
</xsd:schema>
