<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.for.gov.bc.ca/schema/fta" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:mof="http://www.for.gov.bc.ca/schema/base" xmlns:fta="http://www.for.gov.bc.ca/schema/fta" elementFormDefault="qualified" version="1">
	<xsd:annotation>
		<xsd:documentation>BC MOF FTA 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="AbstractFTAFeatureCollectionBaseType" 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="FTASubmission" type="fta:FTASubmissionType" substitutionGroup="gml:_FeatureCollection"/>
	<xsd:complexType name="FTASubmissionType">
		<xsd:annotation>
			<xsd:documentation>Adds metadata and submissionItem properties.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fta:AbstractFTAFeatureCollectionBaseType">
				<xsd:sequence>
					<xsd:element name="submissionMetadataProperty" type="fta:FTASubmissionMetadataAssociationType"/>
					<xsd:element ref="fta:submissionItem" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FTASubmissionMetadataAssociationType">
		<xsd:sequence>
			<xsd:element name="SubmissionMetadata" type="fta:FTASubmissionMetadataType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="submissionItem" type="fta:FTASubmissionItemAssociationType" substitutionGroup="gml:featureMember"/>
	<xsd:complexType name="FTASubmissionItemAssociationType">
		<xsd:annotation>
			<xsd:documentation>Asserts that allowable content includes only valid FTA Features that substitute for &lt;_FTAFeature&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="fta:_FTASubmissionFeature"/>
				</xsd:sequence>
			</xsd:restriction>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="_FTASubmissionFeature" type="gml:AbstractFeatureType" abstract="true" substitutionGroup="gml:_Feature"/>
	<xsd:complexType name="FTASubmissionMetadataType">
		<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="licenseeContact" type="mof:AlphaNumeric50"/>
			<xsd:element name="batchReferenceDate" type="xsd:date"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ===============  Simple base types  =============== -->
	<xsd:simpleType name="CascadeSplitCodeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="E"/>
			<xsd:enumeration value="W"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ApplicationPurposeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="A"/>
			<xsd:enumeration value="N"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="AmendmentReasonType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="A"/>
			<xsd:enumeration value="E"/>
			<xsd:enumeration value="F"/>
			<xsd:enumeration value="S"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ProvincialForestConflictCodeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="OUT"/>
			<xsd:enumeration value="PAR"/>
			<xsd:enumeration value="IN"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="MarkingInstrumentCodeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="B"/>
			<xsd:enumeration value="C"/>
			<xsd:enumeration value="H"/>
			<xsd:enumeration value="P"/>
			<xsd:enumeration value="T"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="MarkingMethodCodeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="0"/>
			<xsd:enumeration value="1"/>
			<xsd:enumeration value="2"/>
			<xsd:enumeration value="3"/>
			<xsd:enumeration value="4"/>
			<xsd:enumeration value="5"/>
			<xsd:enumeration value="8"/>
			<xsd:enumeration value="A"/>
			<xsd:enumeration value="B"/>
			<xsd:enumeration value="C"/>
			<xsd:enumeration value="D"/>
			<xsd:enumeration value="E"/>
			<xsd:enumeration value="S"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="forestFileID" type="mof:AlphaNumeric10"/>
	<xsd:element name="applicationDescription" type="mof:AlphaNumeric255"/>
	<xsd:element name="district" type="mof:AlphaNumeric3"/>
	<xsd:element name="amendmentReason" type="fta:AmendmentReasonType"/>
	<xsd:element name="applicationPurpose" type="fta:ApplicationPurposeType"/>
	<xsd:element name="bCGSMapReference" type="mof:AlphaNumeric15"/>
	<xsd:element name="provincialForestConflictCode" type="fta:ProvincialForestConflictCodeType"/>
	<xsd:element name="bCTSOffice" type="mof:AlphaNumeric3"/>
	<xsd:element name="extentOf" type="mof:SingleOrMultiplePolygonPropertyType"/>
	<xsd:element name="fileType" type="mof:AlphaNumeric3"/>
	<xsd:element name="cascadeSplitCode" type="fta:CascadeSplitCodeType"/>
	<xsd:element name="managementUnitType" type="mof:AlphaNumeric1"/>
	<xsd:element name="managementUnitID" type="mof:AlphaNumeric4"/>
	<xsd:element name="tenureTerm" type="mof:NonNegativeInteger4D"/>
	<xsd:element name="cuttingPermitID" type="mof:AlphaNumeric3"/>
	<xsd:element name="cuttingPermitName" type="mof:AlphaNumeric120"/>
	<xsd:element name="markingInstrumentCode" type="fta:MarkingInstrumentCodeType"/>
	<xsd:element name="markingMethodCode" type="fta:MarkingMethodCodeType"/>
	<xsd:element name="deciduousIndicator" type="xsd:boolean"/>
	<xsd:element name="catastrophicIndicator" type="xsd:boolean"/>
	<xsd:element name="cruiseBasedIndicator" type="xsd:boolean"/>
	<xsd:element name="crownGrantedIndicator" type="xsd:boolean"/>
	<xsd:element name="purposeCode" type="mof:AlphaNumeric2"/>
	<xsd:element name="issueDate" type="xsd:date"/>
	<xsd:element name="expiryDate" type="xsd:date"/>
	<xsd:element name="cuttingPermitArea" type="mof:Decimal11D4d"/>
	<xsd:element name="referenceName" type="mof:AlphaNumeric120"/>

	
	<!-- ==================== CutBlock Base Type ===================================== -->
	<xsd:complexType name="BaseCutBlockType">
		<xsd:complexContent>
			<xsd:extension base="mof:AbstractMOFFeatureType">
				<xsd:sequence>
					<xsd:element name="cutBlockID" type="mof:AlphaNumeric10"/>
					<xsd:element ref="fta:applicationPurpose"/>
					<xsd:element name="blockDescription" type="mof:AlphaNumeric120" minOccurs="0"/>
					<xsd:element ref="fta:provincialForestConflictCode"/>
					<xsd:element ref="fta:amendmentReason" minOccurs="0"/>
					<xsd:element name="plannedGrossArea" type="mof:Decimal11D4d"/>
					<xsd:element name="plannedNetArea" type="mof:Decimal11D4d"/>
					<xsd:element name="cruiseVolume" type="mof:Decimal13D2d" minOccurs="0"/>
					<xsd:element name="plannedHarvestDate" type="xsd:date"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
</xsd:schema>
