<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by gudmund (Norut IT) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:sat="http://cweb.ksat.no/cweb/schema/satellite" xmlns:wave="http://cweb.ksat.no/cweb/schema/wave" targetNamespace="http://cweb.ksat.no/cweb/schema/wave" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.1.1" id="wave">
	<xsd:annotation>
		<xsd:documentation>
		    Copyright (c) 2006 KSAT and Norut IT, All Rights Reserved.
			Satellite based wave Detection - GML Application schema
		</xsd:documentation>
	</xsd:annotation>
	<!-- ====================================================================== -->
	<!-- GML IMPORT -->
	<xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://cweb.ksat.no/cweb/schema/gml/3.1.1/base/feature.xsd"/>
	<xsd:import namespace="http://cweb.ksat.no/cweb/schema/satellite" schemaLocation="http://cweb.ksat.no/cweb/schema/satellite/sat.xsd"/>
	<!-- ================================================================== -->
	<!-- globally defined wave: elements (direct from gml or xsd namespace types) -->
	<xsd:element name="significantHeight" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka Hm0, Hs - In meters</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="maximumHeight" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka Hmax - In meters</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="meanZeroUpcrossingPeriod" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka Tm02, Tz - In seconds</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="peakPeriod" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka Tp - In seconds</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="secondaryPeakPeriod" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka Tp2 - In seconds</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="maximumPeakPeriod" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka Thmax - In seconds</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="meanDirection" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka theta - In decimal deegrees of angle</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="mainDirection" type="xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>aka MDIR - In decimal deegrees of angle</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qualityFlag" type="xsd:decimal"/>
	<xsd:element name="description" type="xsd:string">
		<xsd:annotation>
			<xsd:documentation>A free-text description of the observation.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="dataSource" type="xsd:string">
		<xsd:annotation>
			<xsd:documentation>Name of organization or system providing this feature collection.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<!-- ================================================================== -->
	<!-- wave: detected wave element - based on a gml Point -->
	<xsd:element name="waveMeasure" type="wave:WaveMeasureType" substitutionGroup="gml:pointProperty">
		<xsd:annotation>
			<xsd:documentation>The snapshot of a wave Measure, all attributes (except the point) are optional. Inherits the pointMemberType of gml</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="WaveMeasureType">
		<xsd:complexContent>
			<xsd:extension base="gml:PointPropertyType">
				<xsd:sequence>
					<xsd:element ref="wave:significantHeight" minOccurs="0"/>
					<xsd:element ref="wave:maximumHeight" minOccurs="0"/>
					<xsd:element ref="wave:meanZeroUpcrossingPeriod" minOccurs="0"/>
					<xsd:element ref="wave:peakPeriod" minOccurs="0"/>
					<xsd:element ref="wave:secondaryPeakPeriod" minOccurs="0"/>
					<xsd:element ref="wave:maximumPeakPeriod" minOccurs="0"/>
					<xsd:element ref="wave:meanDirection" minOccurs="0"/>
					<xsd:element ref="wave:mainDirection" minOccurs="0"/>
					<xsd:element ref="wave:qualityFlag" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- ================================================================== -->
	<!-- wave Feature Type -->
	<xsd:element name="feature" type="wave:FeatureType" substitutionGroup="gml:_Feature">
		<xsd:annotation>
			<xsd:documentation>An wave feature encloses a snapshot of a single detected wave observationl</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="FeatureType">
		<xsd:complexContent>
			<xsd:extension base="gml:AbstractFeatureType">
				<xsd:sequence>
					<xsd:element ref="wave:waveMeasure">
						<xsd:annotation>
							<xsd:documentation>The actual wave measure status</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="sat:source" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Source (optional)  represents the satellite product of origin, only significant if not present in the feature collection at the higher level</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- =================================================== -->
	<!-- =================================================== -->
	<!-- The Request element for a wave Feature Service                           -->
	<!-- =================================================== -->
	<!-- =================================================== -->
	<xsd:element name="getFeature" type="sat:GetFeatureType">
		<xsd:annotation>
			<xsd:documentation>This is the concrete request element used to query a service for wave features</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<!-- =================================================== -->
	<!-- =================================================== -->
	<!-- The Response element for a wave Feature Service                        -->
	<!-- =================================================== -->
	<!-- =================================================== -->
	<xsd:element name="featureCollection" type="wave:FeatureCollectionType" substitutionGroup="gml:_FeatureCollection">
		<xsd:annotation>
			<xsd:documentation>This is the concrete response element used to query a service for wave features</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<!-- wave  Feature Collection Type -->
	<xsd:complexType name="FeatureCollectionType">
		<xsd:annotation>
			<xsd:documentation>
				An wave feature collection encloses a set of wave features.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="gml:AbstractFeatureCollectionType">
				<xsd:sequence>
					<xsd:element ref="sat:requestID" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>If an requestID was given by the requesting part, it's value shall be set here</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<!-- optional collection common elements -->
					<xsd:element ref="sat:source" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Source (optional)  represents the satellite product of origin</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="wave:description" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>A free-text description of the observation.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="wave:dataSource" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>DataSource (optional)  represents here the generating organizational source for this feature collection, e.g. name of the providing organization</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
</xsd:schema>
