<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
xmlns:xlink="http://www.w3.org/1999/xlink" 
xmlns:gml="http://www.opengis.net/gml/3.2" 
xmlns:om="http://www.opengis.net/om/1.0" 
xmlns:swe="http://www.opengis.net/swe/1.0.2" 
xmlns:gmd="http://www.isotc211.org/2005/gmd" 
xmlns:ioos="http://www.noaa.gov/ioos/0.6.0" 
targetNamespace="http://www.opengis.net/om/1.0" 
elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
	<annotation>
		<documentation>ioosObservationSpecializations.xsd

An implementation of the OandM model for NOOA IOOS derived from observationSpecialization_override.xsd.

This document contains various specializations of the basic observation pattern, by fixing the type of the result. 
In this version, the specialization is achieved by restricting om:ObservationType to have a result of the correct type

Copyright (c) 2007 Open Geospatial Consortium - see http://www.opengeospatial.org/ogc/software

Copyright (c) 2008 Image Matters LLC.
GOVERNMENT PURPOSE RIGHTS LEGEND. This Software is distributed by
Image Matters LLC for or on behalf of the United States of America, its
agencies and/or instrumentalities ("U.S. Government"), and is provided with
Government Purpose Rights. Use, duplication, or disclosure by the U.S.
Government is subject to restrictions as set forth in DFARS SUBPART
227.72-RIGHTS IN COMPUTER SOFTWARE AND COMPUTER SOFTWARE DOCUMENTATION
[252.227.7203-5 subparagraphs (b)]. 
Manufacturer is Image Matters LLC, 201 Loudoun Street SW, Leesburg, Virginia 20175.

	Author:  Paul Daisey
	Last Revised:  2008-05-10 
		add a "../" step to schemaLocation paths to reflect new IOOS-DIF directory structure
		remove ComplexRecordObservation Type and Element
		remove ComplexBlockObservation Type and Element
		change ioos:CompositeOrArrayPropertyType to ioos:CompositePropertyType
		
</documentation>
	</annotation>
	<!-- ====================================================================== -->
	<!-- bring in other schemas -->
	<include schemaLocation="../../../OGC/om/1.0.1/om.xsd"/>
	<import namespace="http://www.noaa.gov/ioos/0.6.0" schemaLocation="./ioosTypes.xsd"/>
	<import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../../../OGC/gml/3.2.1/gml.xsd"/>
	<import namespace="http://www.opengis.net/swe/1.0.2" schemaLocation="../../../OGC/sweCommon/1.0.2/swe.xsd"/>
	<import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../../../OGC/iso/19139/20070417/gmd/gmd.xsd"/>
	<!-- ====================================================================== -->
	<!-- == Observation with constant complex result encoded in a gml:Array or gml:CompositeValue  == -->
	<!-- ====================================================================== -->
	<complexType name="CompositeObservationType">
		<annotation>
			<documentation>Specialized Observation, in which the result is constrained to be a gml:CompositeValue, or an element in its substitution group.</documentation>
		</annotation>
		<complexContent>
			<restriction base="om:ObservationType">
				<sequence>
					<element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/>
					<element ref="gml:description" minOccurs="0"/>
					<element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/>
					<element ref="gml:boundedBy" minOccurs="0"/>
					<element name="observationMetadata" type="gmd:MD_Metadata_PropertyType" minOccurs="0"/>
					<element name="samplingTime" type="swe:TimeObjectPropertyType"/>
					<element name="resultTime" type="swe:TimeObjectPropertyType" minOccurs="0"/>
					<element name="procedure" type="om:ProcessPropertyType"/>
					<element name="resultQuality" type="gmd:DQ_Element_PropertyType" minOccurs="0"/>
					<element name="observedProperty" type="swe:PhenomenonPropertyType"/>
					<element name="featureOfInterest" type="gml:FeaturePropertyType"/>
					<element name="parameter" type="swe:AnyDataPropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="result" type="ioos:CompositePropertyType">
						<annotation>
							<documentation>Property that refers to, or contains, a Composite, which may in turn contain a count and an Array.</documentation>
						</annotation>
					</element>
				</sequence>
			</restriction>
		</complexContent>
	</complexType>
	<!-- ...................... -->
	<element name="CompositeObservation" type="om:CompositeObservationType" substitutionGroup="om:Observation">
		<annotation>
			<documentation>Specialized Observation, in which the result is a ioos:Composite, or an element in its substitution group.</documentation>
		</annotation>
	</element>
	<!-- ====================================================================== -->
</schema>
