<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.opengis.net/wcs/1.1.1" 
	xmlns:wcs="http://www.opengis.net/wcs/1.1.1" 
	xmlns:ows="http://www.opengis.net/ows/1.1" 
	xmlns:gml="http://www.opengis.net/gml" 
	xmlns="http://www.w3.org/2001/XMLSchema" 
	elementFormDefault="qualified" version="1.1.1" xml:lang="en">
	<annotation>
		<appinfo>wcsGetCoverage.xsd 2007-07-07</appinfo>
		<appinfo>
			<GMLProfileSchema>http://schemas.opengis.net/wcs/1.1.1/gml4wcs.xsd</GMLProfileSchema>
		</appinfo>
		<documentation>This XML Schema Document defines the GetCoverage operation request elements and types, for the OGC Web Coverage Service (WCS). 
		Copyright (c) 2007 Open Geospatial Consortium, Inc. All Rights Reserved. </documentation>
	</annotation>
	<!-- ==============================================================  
        includes and imports	
	============================================================== -->
	<include schemaLocation="wcsCommon.xsd"/>
	<include schemaLocation="wcsGridCRS.xsd"/>
	<include schemaLocation="wcsCoverages.xsd"/>
	<import namespace="http://www.opengis.net/ows/1.1" schemaLocation="../../ows/1.1.0/owsAll.xsd"/>
	<import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
	<!-- ==============================================================	
		elements and types	
	============================================================== -->
	<element name="GetCoverage">
		<annotation>
			<documentation>Request to a WCS to perform the GetCoverage operation. This operation allows a client to retrieve a subset of one coverage. In this XML encoding, no "request" parameter is included, since the element name specifies the specific operation. </documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="wcs:RequestBaseType">
					<sequence>
						<element ref="ows:Identifier">
							<annotation>
								<documentation>Identifier of the coverage that this GetCoverage operation request shall draw from. </documentation>
							</annotation>
						</element>
						<element name="DomainSubset" type="wcs:DomainSubsetType"/>
						<element name="RangeSubset" type="wcs:RangeSubsetType" minOccurs="0">
							<annotation>
								<documentation>Optional selection of a subset of the coverage's range. </documentation>
							</annotation>
						</element>
						<element name="Output" type="wcs:OutputType"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<!-- ======================================================= -->
	<complexType name="OutputType">
		<annotation>
			<documentation>Asks for the GetCoverage response to be expressed in a particular CRS and encoded in a particular format. Can also ask for the response coverage to be stored remotely from the client at a URL, instead of being returned in the operation response. </documentation>
		</annotation>
		<sequence>
			<element ref="wcs:GridCRS" minOccurs="0">
				<annotation>
					<documentation>Optional definition of the GridCRS in which the GetCoverage response shall be expressed. When this GridCRS is not included, the output shall be in the ImageCRS or GridCRS of the offered image, as identified in the CoverageDescription.  To request no interpolation, this GridCRS should be omitted. </documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="format" type="ows:MimeType">
			<annotation>
				<documentation>Identifier of the format in which GetCoverage response shall be encoded. This identifier value shall be among those listed as SupportedFormats in the DescribeCoverage operation response. </documentation>
			</annotation>
		</attribute>
		<attribute name="store" type="boolean" use="optional" default="false">
			<annotation>
				<documentation>Specifies if the output coverage should be stored, remotely from the client at a network URL, instead of being returned with the operation response. This parameter should be included only if this operation parameter is supported by server, as encoded in the OperationsMetadata section of the Capabilities document. </documentation>
			</annotation>
		</attribute>
	</complexType>
	<!-- ======================================================= -->
	<!-- Domain subset types and elements -->
	<!-- ======================================================= -->
	<complexType name="DomainSubsetType">
		<annotation>
			<documentation>Definition of the desired subset of the domain of the coverage. Contains a spatial BoundingBox and optionally a TemporalSubset. </documentation>
		</annotation>
		<sequence>
			<element ref="ows:BoundingBox">
				<annotation>
					<documentation>Definition of desired spatial subset of a coverage domain. When the entire spatial extent of this coverage is desired, this BoundingBox can be copied from the Domain part of the Coverage Description. However, the entire spatial extent may be larger than a WCS server can output, in which case the server shall respond with an error message. Notice that WCS use of this BoundingBox is further specified in specification Subclause 7.5. </documentation>
				</annotation>
			</element>
			<element ref="wcs:TemporalSubset" minOccurs="0">
				<annotation>
					<documentation>Optional definition of desired temporal subset of a coverage domain. If this data structure is omitted, the entire Temporal domain shall be output. </documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<!-- ======================================================= -->
	<element name="TemporalSubset" type="wcs:TimeSequenceType">
		<annotation>
			<documentation>Definition of subset of coverage temporal domain. </documentation>
		</annotation>
	</element>
	<!-- ======================================================= -->
	<!-- Range subset types and elements -->
	<!-- ======================================================= -->
	<complexType name="RangeSubsetType">
		<annotation>
			<documentation>Selection of desired subset of the coverage's range fields, (optionally) the interpolation method applied to each field, and (optionally) field subsets. </documentation>
		</annotation>
		<sequence>
			<element name="FieldSubset" maxOccurs="unbounded">
				<annotation>
					<documentation>Unordered list of one or more desired subsets of range fields. TBD. </documentation>
				</annotation>
				<complexType>
					<sequence>
						<element ref="ows:Identifier">
							<annotation>
								<documentation>Identifier of this requested Field. This identifier must be unique for this Coverage. </documentation>
							</annotation>
						</element>
						<element name="InterpolationType" type="string" minOccurs="0">
							<annotation>
								<documentation>Optional identifier of the spatial interpolation type to be applied to this range field. This interpolation type shall be one that is identified for this Field in the CoverageDescription. When this parameter is omitted, the interpolation method used shall be the default method specified for this Field, if any. </documentation>
							</annotation>
						</element>
						<element ref="wcs:AxisSubset" minOccurs="0" maxOccurs="unbounded">
							<annotation>
								<documentation>Unordered list of zero or more axis subsets for this field. TBD. </documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<!-- ======================================================= -->
	<element name="AxisSubset">
		<annotation>
			<documentation>List of selected Keys for this axis, to be used for selecting values in a vector range field. TBD. </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="wcs:Identifier">
					<annotation>
						<documentation>Identifier of this Axis. This identifier must be unique for this Field. </documentation>
					</annotation>
				</element>
				<element name="Key" type="wcs:IdentifierType" maxOccurs="unbounded">
					<annotation>
						<documentation>Unordered list of (at least one) Key, to be used for selecting values in a range vector field. The Keys within this list shall be unique. TBD. </documentation>
					</annotation>
				</element>
			</sequence>
		</complexType>
	</element>
	<!-- ======================================================= -->
</schema>
