<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:os="http://namespaces.ordnancesurvey.co.uk/elevation/grid/v1.0" targetNamespace="http://namespaces.ordnancesurvey.co.uk/elevation/grid/v1.0" elementFormDefault="qualified" version="1.0.1">
	<import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
	<simpleType name="SurfaceTypeValueType">
		<restriction base="string">
			<enumeration value="DTM"/>
			<enumeration value="DSM"/>
		</restriction>
	</simpleType>
	<element name="ElevationGridCoverage" type="os:ElevationGridCoverageType" substitutionGroup="gml:AbstractFeature"/>
	<complexType name="ElevationGridCoverageType">
		<complexContent>
			<extension base="gml:AbstractFeatureType">
				<sequence>
					<element ref="gml:rectifiedGridDomain"/>
					<element ref="gml:rangeSet"/>
					<element name="interpolationType" type="os:CV_InterpolationMethodType"/>
					<element name="propertyType" type="os:ElevationPropertyTypeValueType"/>
					<element name="surfaceType" type="os:SurfaceTypeValueType"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="CV_InterpolationMethodType">
		<restriction base="string">
			<enumeration value="bilinear"/>
		</restriction>
	</simpleType>
	<element name="DataSet" type="os:DataSetType" substitutionGroup="gml:AbstractFeature"/>
	<complexType name="DataSetType">
		<complexContent>
			<extension base="gml:AbstractFeatureType">
				<sequence minOccurs="1" maxOccurs="1">
					<element name="metadata">
						<complexType>
							<complexContent>
								<extension base="gml:AbstractMetadataPropertyType">
									<sequence>
										<!-- <element ref="gmd:MD_Metadata"/> -->
										<!-- in practice, we'll only ever 'populate' via xlink:href -->
									</sequence>
									<attributeGroup ref="gml:AssociationAttributeGroup"/>
								</extension>
							</complexContent>
						</complexType>
					</element>
					<element name="member">
						<complexType>
							<complexContent>
								<extension base="gml:AbstractFeatureMemberType">
									<sequence minOccurs="1" maxOccurs="1">
										<element ref="os:ElevationGridCoverage"/>
									</sequence>
								</extension>
							</complexContent>
						</complexType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="ElevationPropertyTypeValueType">
		<restriction base="string">
			<enumeration value="height"/>
			<enumeration value="depth"/>
		</restriction>
	</simpleType>
</schema>
