<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.for.gov.bc.ca/schema/rrs" xmlns:rrs="http://www.for.gov.bc.ca/schema/rrs" xmlns:mof="http://www.for.gov.bc.ca/schema/base" xmlns:gml="http://www.opengis.net/gml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1">
	<xsd:annotation>
		<xsd:documentation>BC MOF rrs base types schema.  Copyright (c) 2003 BC Ministry of Forests, All Rights Reserved.</xsd:documentation>
	</xsd:annotation>
	<!-- import MOF Base constructs -->
	<xsd:import namespace="http://www.for.gov.bc.ca/schema/base" schemaLocation="mof-base.xsd"/>
	<!-- import constructs from the GML Feature and Geometry schemas -->
	<xsd:import namespace="http://www.opengis.net/gml"/>
	<xsd:import namespace="http://www.w3.org/1999/xlink"/>
	<!-- ========================= Submission Types ================================================ -->
	<xsd:complexType name="AbstractRRSFeatureCollectionBaseType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Removes generic gml:featureMember property.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:restriction base="gml:AbstractFeatureCollectionType">
				<xsd:sequence>
					<xsd:element ref="gml:description" minOccurs="0"/>
					<xsd:element ref="gml:name" minOccurs="0"/>
					<xsd:element ref="gml:boundedBy"/>
				</xsd:sequence>
				<xsd:attribute name="fid" type="xsd:ID" use="optional"/>
			</xsd:restriction>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="RRSSubmission" type="rrs:RRSSubmissionType" substitutionGroup="gml:_FeatureCollection"/>
	<xsd:complexType name="RRSSubmissionType">
		<xsd:annotation>
			<xsd:documentation>Adds metadata and submissionItem properties.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="rrs:AbstractRRSFeatureCollectionBaseType">
				<xsd:sequence>
					<xsd:element name="submissionMetadataProperty" type="rrs:RRSSubmissionMetadataAssociationType"/>
					<xsd:element ref="rrs:submissionItem" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="RRSSubmissionMetadataAssociationType">
		<xsd:sequence>
			<xsd:element name="SubmissionMetadata" type="rrs:RRSSubmissionMetadataType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="submissionItem" type="rrs:RRSSubmissionItemAssociationType" substitutionGroup="gml:featureMember"/>
	<xsd:complexType name="RRSSubmissionItemAssociationType">
		<xsd:annotation>
			<xsd:documentation>Asserts that allowable content includes only valid RRS Features that substitute for &lt;_RRSFeature&gt;.  It also removes the Xlink attributes which are not required nor suppported.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:restriction base="gml:FeatureAssociationType">
				<xsd:sequence>
					<xsd:element ref="rrs:_RRSSubmissionFeature"/>
				</xsd:sequence>
			</xsd:restriction>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="_RRSSubmissionFeature" type="gml:AbstractFeatureType" abstract="true" substitutionGroup="gml:_Feature"/>
	<xsd:complexType name="RRSSubmissionMetadataType">
		<xsd:sequence>
			<xsd:element name="districtCode" type="mof:AlphaNumeric3"/>
			<xsd:element name="clientCode" type="mof:AlphaNumeric8"/>
			<xsd:element name="clientLocationCode" type="mof:AlphaNumeric2"/>
			<xsd:element name="validateOnly" type="xsd:boolean" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ===============  Simple base types  =============== -->
	<xsd:simpleType name="ApplicationPurposeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="A"/>
			<xsd:enumeration value="N"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="SpecialAccessRoadLinearTypeCode">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="FSRDeclaration"/>
			<xsd:enumeration value="FSRGazetteUnsurveyed"/>
			<xsd:enumeration value="NSR"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="SpecialAccessRoadPolygonalTypeCode">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="FSRDedication"/>
			<xsd:enumeration value="FSRGravelPit"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:element name="location" type="mof:AlphaNumeric50"/>
	<xsd:element name="forestFileID" type="mof:AlphaNumeric10"/>
	<xsd:element name="applicationDescription" type="mof:AlphaNumeric255"/>
	<xsd:element name="district" type="mof:AlphaNumeric3"/>
	<xsd:element name="orgUnitGeo" type="mof:AlphaNumeric3"/>
	<xsd:element name="applicationPurpose" type="rrs:ApplicationPurposeType"/>
	<xsd:element name="comment" type="mof:AlphaNumeric255"/>
	<xsd:element name="bCTSOffice" type="mof:AlphaNumeric3"/>
	<xsd:element name="extentOf" type="mof:SingleOrMultiplePolygonPropertyType"/>
	<xsd:element name="centreLineOf" type="mof:SingleOrMultipleLineStringPropertyType"/>
	<xsd:element name="fileType" type="mof:AlphaNumeric3"/>
	<xsd:element name="managementUnitType" type="mof:AlphaNumeric1"/>
	<xsd:element name="managementUnitID" type="mof:AlphaNumeric4"/>
	<xsd:element name="higherLevelPlanReference" type="mof:AlphaNumeric30"/>
	
	<xsd:element name="specialAccessRoadLinearType" type="rrs:SpecialAccessRoadLinearTypeCode"/>
	<xsd:element name="specialAccessRoadPolygonalType" type="rrs:SpecialAccessRoadPolygonalTypeCode"/>
	
</xsd:schema>
