<?xml version="1.0" encoding="UTF-8"?>
<schema 
xmlns="http://www.w3.org/2001/XMLSchema" 
xmlns:om="http://www.opengis.net/om/1.0" 
xmlns:omx="http://www.opengis.net/omx/1.0"
xmlns:sml="http://www.opengis.net/sensorML/1.0.1" 
xmlns:gml="http://www.opengis.net/gml" 
targetNamespace="http://www.opengis.net/omx/1.0"
elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.1">
	<annotation>
		<documentation>specializedProcedure.xsd

Components to describe procedures used in observations and measurements, and other events.

Observation Extensions is an OGC Standard.
Copyright (c) 2007,2008,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
		</documentation>
	</annotation>
	<!-- ====================================================================== -->
	<!-- bring in other schemas -->
	<import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
	<!-- can't use ISO Metadata schema with GML 3.1.1 -->
	<!-- <import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../../../../gml/trunk/gml/3.1.1/gmd/gmd.xsd"/> -->
	<import namespace="http://www.opengis.net/sensorML/1.0.1" schemaLocation="http://schemas.opengis.net/sensorML/1.0.1/sensorML.xsd"/>
	<import namespace="http://www.opengis.net/om/1.0"  schemaLocation="http://schemas.opengis.net/om/1.0.0/om.xsd"/>
	<!-- ====================================================================== -->
	<!-- ====================================================================== -->
	<!-- === Specialised Procedure types === -->
	<!-- ====================================================================== -->
	<complexType name="ObservationProcessType">
		<annotation>
			<documentation>Head of substitution group of observation procedures. 
			Use gml:description element to describe the procedure or link to a definitive description.</documentation>
		</annotation>
		<complexContent>
			<extension base="sml:AbstractProcessType">
				<sequence>
					<element name="method" type="gml:CodeType">
						<annotation>
							<documentation>Code for the particular procedure type.  Usually an item from a list or register of procedures, methods, instrument-types, etc.</documentation>
						</annotation>
					</element>

					<element name="resultQuality" type="om:AnyOrReferenceType" minOccurs="0">
<!--					<element name="resultQuality" type="gmd:DQ_Element_PropertyType" minOccurs="0"> -->
						<annotation>
							<documentation>Quality associated systematically with observations made using this procedure.</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ...................... -->
	<element name="ObservationProcess" type="omx:ObservationProcessType" substitutionGroup="sml:_Process">
		<annotation>
			<documentation>Head of substitution group of observation procedures. 
			Use gml:description element to describe the procedure or link to a definitive description.</documentation>
		</annotation>
	</element>
	<!-- ...................... -->
	<complexType name="ObservationProcessPropertyType">
		<sequence minOccurs="0">
			<element ref="omx:ObservationProcess"/>
		</sequence>
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
	</complexType>
	<!-- ====================================================================== -->
	<!-- ====================================================================== -->
	<complexType name="InstrumentType">
		<annotation>
			<documentation>Specialised observation procedure corresponding to a physical instrument or sensor. 
			Use gml:description element to describe the procedure or link to a definitive description.</documentation>
		</annotation>
		<complexContent>
			<extension base="omx:ObservationProcessType"/>
		</complexContent>
	</complexType>
	<!-- ...................... -->
	<element name="Instrument" type="omx:InstrumentType" substitutionGroup="omx:ObservationProcess">
		<annotation>
			<documentation>Specialised observation procedure corresponding to a physical instrument or sensor. 
			Use gml:description element to describe the procedure or link to a definitive description.</documentation>
		</annotation>
	</element>
	<!-- ...................... -->
	<complexType name="InstrumentPropertyType">
		<sequence minOccurs="0">
			<element ref="omx:Instrument"/>
		</sequence>
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
	</complexType>
	<!-- ====================================================================== -->
	<complexType name="CalculationProcessType">
		<annotation>
			<documentation>Specialised observation procedure corresponding to an algorithm or computational procedure. 
			Use gml:description element to describe the procedure or link to a definitive description.</documentation>
		</annotation>
		<complexContent>
			<extension base="omx:ObservationProcessType"/>
		</complexContent>
	</complexType>
	<!-- ...................... -->
	<element name="CalculationProcess" type="omx:CalculationProcessType" substitutionGroup="omx:ObservationProcess">
		<annotation>
			<documentation>Specialised observation procedure corresponding to an algorithm or computational procedure. 
			Use gml:description element to describe the procedure or link to a definitive description.</documentation>
		</annotation>
	</element>
	<!-- ...................... -->
	<complexType name="CalculationProcessPropertyType">
		<sequence minOccurs="0">
			<element ref="omx:CalculationProcess"/>
		</sequence>
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
	</complexType>
	<!-- ====================================================================== -->
</schema>
