<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13">
	<!-- ================================= Annotation ================================ -->
	<xs:annotation>
		<xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This portrayalCatalogue.xsd schema implements the UML conceptual schema defined in A.2.6 of ISO 19115:2003. It contains the implementation of the following classes: MD_GridSpatialRepresentation, MD_VectorSpatialRepresentation, MD_SpatialRepresentation, MD_Georeferenceable, MD_Dimension, MD_Georectified, MD_GeometricObjects, MD_TopologyLevelCode, MD_GeometricObjectTypeCode, MD_CellGeometryCode, MD_DimensionNameTypeCode, MD_PixelOrientationCode.</xs:documentation>
	</xs:annotation>
	<!-- ================================== Imports ================================== -->
	<xs:import namespace="http://www.isotc211.org/2005/gss" schemaLocation="../gss/gss.xsd"/>
	<xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/>
	<xs:include schemaLocation="gmd.xsd"/>
	<xs:include schemaLocation="citation.xsd"/>
	<!-- ########################################################################### -->
	<!-- ########################################################################### -->
	<!-- ================================== Classes ================================= -->
	<xs:complexType name="MD_GridSpatialRepresentation_Type">
		<xs:annotation>
			<xs:documentation>Types and numbers of raster spatial objects in the dataset</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="gmd:AbstractMD_SpatialRepresentation_Type">
				<xs:sequence>
					<xs:element name="numberOfDimensions" type="gco:Integer_PropertyType"/>
					<xs:element name="axisDimensionProperties" type="gmd:MD_Dimension_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="cellGeometry" type="gmd:MD_CellGeometryCode_PropertyType"/>
					<xs:element name="transformationParameterAvailability" type="gco:Boolean_PropertyType"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ........................................................................ -->
	<xs:element name="MD_GridSpatialRepresentation" type="gmd:MD_GridSpatialRepresentation_Type" substitutionGroup="gmd:AbstractMD_SpatialRepresentation"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_GridSpatialRepresentation_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_GridSpatialRepresentation"/>
		</xs:sequence>
		<xs:attributeGroup ref="gco:ObjectReference"/>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<xs:complexType name="MD_VectorSpatialRepresentation_Type">
		<xs:annotation>
			<xs:documentation>Information about the vector spatial objects in the dataset</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="gmd:AbstractMD_SpatialRepresentation_Type">
				<xs:sequence>
					<xs:element name="topologyLevel" type="gmd:MD_TopologyLevelCode_PropertyType" minOccurs="0"/>
					<xs:element name="geometricObjects" type="gmd:MD_GeometricObjects_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ........................................................................ -->
	<xs:element name="MD_VectorSpatialRepresentation" type="gmd:MD_VectorSpatialRepresentation_Type" substitutionGroup="gmd:AbstractMD_SpatialRepresentation"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_VectorSpatialRepresentation_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_VectorSpatialRepresentation"/>
		</xs:sequence>
		<xs:attributeGroup ref="gco:ObjectReference"/>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<xs:complexType name="AbstractMD_SpatialRepresentation_Type" abstract="true">
		<xs:annotation>
			<xs:documentation>Digital mechanism used to represent spatial information</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="gco:AbstractObject_Type">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ........................................................................ -->
	<xs:element name="AbstractMD_SpatialRepresentation" type="gmd:AbstractMD_SpatialRepresentation_Type" abstract="true"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_SpatialRepresentation_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:AbstractMD_SpatialRepresentation"/>
		</xs:sequence>
		<xs:attributeGroup ref="gco:ObjectReference"/>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<xs:complexType name="MD_Georeferenceable_Type">
		<xs:complexContent>
			<xs:extension base="gmd:MD_GridSpatialRepresentation_Type">
				<xs:sequence>
					<xs:element name="controlPointAvailability" type="gco:Boolean_PropertyType"/>
					<xs:element name="orientationParameterAvailability" type="gco:Boolean_PropertyType"/>
					<xs:element name="orientationParameterDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/>
					<xs:element name="georeferencedParameters" type="gco:Record_PropertyType"/>
					<xs:element name="parameterCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ........................................................................ -->
	<xs:element name="MD_Georeferenceable" type="gmd:MD_Georeferenceable_Type" substitutionGroup="gmd:MD_GridSpatialRepresentation"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_Georeferenceable_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_Georeferenceable"/>
		</xs:sequence>
		<xs:attributeGroup ref="gco:ObjectReference"/>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<xs:complexType name="MD_Dimension_Type">
		<xs:complexContent>
			<xs:extension base="gco:AbstractObject_Type">
				<xs:sequence>
					<xs:element name="dimensionName" type="gmd:MD_DimensionNameTypeCode_PropertyType"/>
					<xs:element name="dimensionSize" type="gco:Integer_PropertyType"/>
					<xs:element name="resolution" type="gco:Measure_PropertyType" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ........................................................................ -->
	<xs:element name="MD_Dimension" type="gmd:MD_Dimension_Type"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_Dimension_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_Dimension"/>
		</xs:sequence>
		<xs:attributeGroup ref="gco:ObjectReference"/>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<xs:complexType name="MD_Georectified_Type">
		<xs:complexContent>
			<xs:extension base="gmd:MD_GridSpatialRepresentation_Type">
				<xs:sequence>
					<xs:element name="checkPointAvailability" type="gco:Boolean_PropertyType"/>
					<xs:element name="checkPointDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/>
					<xs:element name="cornerPoints" type="gss:GM_Point_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="centerPoint" type="gss:GM_Point_PropertyType" minOccurs="0"/>
					<xs:element name="pointInPixel" type="gmd:MD_PixelOrientationCode_PropertyType"/>
					<xs:element name="transformationDimensionDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/>
					<xs:element name="transformationDimensionMapping" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="2"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ........................................................................ -->
	<xs:element name="MD_Georectified" type="gmd:MD_Georectified_Type" substitutionGroup="gmd:MD_GridSpatialRepresentation"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_Georectified_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_Georectified"/>
		</xs:sequence>
		<xs:attributeGroup ref="gco:ObjectReference"/>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<xs:complexType name="MD_GeometricObjects_Type">
		<xs:complexContent>
			<xs:extension base="gco:AbstractObject_Type">
				<xs:sequence>
					<xs:element name="geometricObjectType" type="gmd:MD_GeometricObjectTypeCode_PropertyType"/>
					<xs:element name="geometricObjectCount" type="gco:Integer_PropertyType" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ........................................................................ -->
	<xs:element name="MD_GeometricObjects" type="gmd:MD_GeometricObjects_Type"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_GeometricObjects_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_GeometricObjects"/>
		</xs:sequence>
		<xs:attributeGroup ref="gco:ObjectReference"/>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<xs:simpleType name="MD_PixelOrientationCode_Type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="center"/>
			<xs:enumeration value="lowerLeft"/>
			<xs:enumeration value="lowerRight"/>
			<xs:enumeration value="upperRight"/>
			<xs:enumeration value="upperLeft"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- ........................................................................ -->
	<xs:element name="MD_PixelOrientationCode" type="gmd:MD_PixelOrientationCode_Type" substitutionGroup="gco:CharacterString"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_PixelOrientationCode_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_PixelOrientationCode"/>
		</xs:sequence>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<!-- ........................................................................ -->
	<xs:element name="MD_TopologyLevelCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_TopologyLevelCode_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_TopologyLevelCode"/>
		</xs:sequence>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<!-- ........................................................................ -->
	<xs:element name="MD_GeometricObjectTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_GeometricObjectTypeCode_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_GeometricObjectTypeCode"/>
		</xs:sequence>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<!-- ........................................................................ -->
	<xs:element name="MD_CellGeometryCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_CellGeometryCode_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_CellGeometryCode"/>
		</xs:sequence>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
	<!-- ........................................................................ -->
	<xs:element name="MD_DimensionNameTypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/>
	<!-- ........................................................................ -->
	<xs:complexType name="MD_DimensionNameTypeCode_PropertyType">
		<xs:sequence minOccurs="0">
			<xs:element ref="gmd:MD_DimensionNameTypeCode"/>
		</xs:sequence>
		<xs:attribute ref="gco:nilReason"/>
	</xs:complexType>
	<!-- =========================================================================== -->
</xs:schema>
