<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by PostNL IT (PostNL Holding B.V.) -->
<!--oorspronkelijke namespace: http://www.opengis.net/sensorml/2.0-->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sml2="urn:postnl/ogs/sensorml/2" xmlns:fea3="urn:postnl/ogs/feature/3" xmlns:bat2="urn:postnl/ogs/basic_types/2" targetNamespace="urn:postnl/ogs/sensorml/2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
	<annotation>
		<documentation>The elements of a concrete aggregate non-physical process derived from the core process model.
        
        SensorML is an OGC Standard.
        Copyright (c) 2014 Open Geospatial Consortium.
        To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
        </documentation>
	</annotation>
	<include schemaLocation="simple_process.xsd"/>
	<!-- ================================================= -->
	<import namespace="urn:postnl/ogs/feature/3" schemaLocation="../Common/feature3.xsd"/>
	<import namespace="urn:postnl/ogs/basic_types/2" schemaLocation="../Common/basic_types2.xsd"/>
	<element name="AggregateProcess" type="sml2:AggregateProcessType" substitutionGroup="sml2:AbstractProcess">
		<annotation>
			<documentation>A process that consist of a collection of linked component processes resulting in a specified output.</documentation>
		</annotation>
	</element>
	<complexType name="AggregateProcessType">
		<complexContent>
			<extension base="sml2:AbstractProcessType">
				<sequence>
					<element name="components" type="sml2:ComponentListPropertyType" minOccurs="0" maxOccurs="1"/>
					<element name="connections" type="sml2:ConnectionListPropertyType" minOccurs="0" maxOccurs="1">
						<annotation>
							<documentation>The explicit definition of data links between outputs, inputs, and parameters of the components within an aggregate process.</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="AggregateProcessPropertyType">
		<sequence minOccurs="0">
			<element ref="sml2:AggregateProcess"/>
		</sequence>
		<attributeGroup ref="fea3:AssociationAttributeGroup"/>
		<attributeGroup ref="fea3:OwnershipAttributeGroup"/>
	</complexType>
	<!-- ================================================= -->
	<element name="ConnectionList" type="sml2:ConnectionListType" substitutionGroup="bat2:AbstractSWE"/>
	<complexType name="ConnectionListType">
		<complexContent>
			<extension base="bat2:AbstractSWEType">
				<sequence>
					<element name="connection" minOccurs="1" maxOccurs="unbounded">
						<complexType>
							<sequence>
								<element ref="sml2:Link"/>
							</sequence>
						</complexType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ConnectionListPropertyType">
		<sequence minOccurs="0">
			<element ref="sml2:ConnectionList"/>
		</sequence>
		<attributeGroup ref="bat2:AssociationAttributeGroup"/>
	</complexType>
	<!-- ================================================= -->
	<element name="ComponentList" type="sml2:ComponentListType" substitutionGroup="bat2:AbstractSWE"/>
	<complexType name="ComponentListType">
		<complexContent>
			<extension base="bat2:AbstractSWEType">
				<sequence>
					<element name="component" minOccurs="1" maxOccurs="unbounded">
						<annotation>
							<documentation>A description of a component of the aggregate process. If by reference, the uniqueID of the referenced process must be provided using the xlink:title attribute while the URL to the process description must be provided by the xlink:href attribute.</documentation>
						</annotation>
						<complexType>
							<complexContent>
								<extension base="sml2:AbstractProcessPropertyType">
									<attribute name="name" type="NCName" use="required"/>
								</extension>
							</complexContent>
						</complexType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ComponentListPropertyType">
		<sequence minOccurs="0">
			<element ref="sml2:ComponentList"/>
		</sequence>
		<attributeGroup ref="bat2:AssociationAttributeGroup"/>
	</complexType>
	<!-- ================================================= -->
	<element name="Link" type="sml2:LinkType" substitutionGroup="fea3:AbstractObject"/>
	<complexType name="LinkType">
		<sequence>
			<element name="source" type="sml2:DataComponentRefPropertyType">
				<annotation>
					<documentation>The output from which the link originates.</documentation>
				</annotation>
			</element>
			<element name="destination" type="sml2:DataComponentRefPropertyType">
				<annotation>
					<documentation>The input or parameter into which the data flows.</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute ref="fea3:id" use="optional"/>
	</complexType>
	<complexType name="LinkPropertyType">
		<sequence minOccurs="0">
			<element ref="sml2:Link"/>
		</sequence>
		<attributeGroup ref="bat2:AssociationAttributeGroup"/>
	</complexType>
</schema>
