<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Bret Champoux (Vivid Solutions Inc) -->
<!-- target namespace is a URL by popular convention.  It is an idenfitier only, such that no pysical resource is required at this URL. -->
<schema targetNamespace="http://www.for.gov.bc.ca/schema/abr" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mof="http://www.for.gov.bc.ca/schema/base" xmlns:abr="http://www.for.gov.bc.ca/schema/abr" elementFormDefault="qualified" version="0">
	<annotation>
		<documentation>BC MOF ABR Submission schema for use in the Electronic Submission Framework.  Copyright (c) 2003 BC Ministry of Forests, All Rights Reserved.</documentation>
	</annotation>
	<!-- import MOF Base constructs -->
	<include schemaLocation="mof-abr-include.xsd"/>
	<import namespace="http://www.for.gov.bc.ca/schema/base" schemaLocation="mof-base.xsd"/>
	<!-- import constructs from the GML Feature and Geometry schemas -->
	<import namespace="http://www.opengis.net/gml"/>
	<import namespace="http://www.w3.org/1999/xlink"/>
	<!--As-Built Road Submission-->
	<!-- ========================= Roads =====================-->
	<element name="RoadTenure" type="abr:RoadTenureType" substitutionGroup="abr:_ABRSubmissionFeature">
		<annotation>
			<documentation> An instance of a Road Tenure</documentation>
		</annotation>
	</element>
	<complexType name="RoadTenureType">
		<annotation>
			<documentation>A property holding, with a defined term, for the purpose of the construction or modification of a forest road to facilitate access to timber planned for harvest.</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:AbstractABRFeatureCollectionBaseType">
				<sequence>
					<element ref="abr:forestFileId"/>
					<element ref="abr:timberMark" minOccurs="0"/>
					<element ref="abr:cutBlockId" minOccurs="0"/>
					<element name="roadSectionMember" type="abr:RoadSectionAssociationType" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- =========================Road Section =====================-->
	<complexType name="RoadSectionAssociationType">
		<complexContent>
			<restriction base="gml:FeatureAssociationType">
				<sequence>
					<element ref="abr:RoadSection"/>
				</sequence>
			</restriction>
		</complexContent>
	</complexType>
	<element name="RoadSection" type="abr:RoadSectionType"/>
	<complexType name="RoadSectionType">
		<annotation>
			<documentation>A section of road within a Road Permit or FSR, that consist of a collection of contiguous line segments that connect to a single PoC and PoT.</documentation>
		</annotation>
		<complexContent>
			<extension base="mof:AbstractMOFFeatureType">
				<sequence>
					<element ref="abr:roadSectionId"/>
					<element ref="abr:centreLineOf"/>
					<element ref="abr:eventItem" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="centreLineOf" type="mof:SingleOrMultipleLineStringPropertyType">
		<annotation>
			<documentation>Geometry for the road section</documentation>
		</annotation>
	</element>
	<!-- ========================= Events ===================== -->
	<element name="eventItem" type="abr:EventItemAssociationType"/>
	<complexType name="EventItemAssociationType">
		<complexContent>
			<restriction base="gml:FeatureAssociationType">
				<sequence>
					<element ref="abr:_Event"/>
				</sequence>
			</restriction>
		</complexContent>
	</complexType>
	<element name="_Event" type="abr:EventType"/>
	<complexType name="EventType">
		<annotation>
			<documentation>Base definition of an Event.</documentation>
		</annotation>
	</complexType>
	<complexType name="SinglePointLocationEventType">
		<annotation>
			<documentation>If an event is a SinglePointLocationEventType, its position on the road section is identified as either a single coordinate, or a distance (in m) from the start of the road section</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:EventType">
				<sequence>
					<element name="location" type="abr:SingleLocationType"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="TwoPointLocationEventType">
		<annotation>
			<documentation>If an event is a TwoPointLocationEventType, it has both a To position and a From position on the road section, identified as either a pair of coordinates, or two distances (in m) from the start of the road section</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:EventType">
				<sequence>
					<element name="location" type="abr:TwoLocationType"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="TwoLocationType">
		<annotation>
			<documentation>Can be either two sets of coordinates, From position and To position, or two sets of distances (in m) from the start of the road section</documentation>
		</annotation>
		<choice>
			<element name="distance" type="abr:TwoDistanceType"/>
			<element name="coordinates" type="abr:TwoPointType"/>
		</choice>
	</complexType>
	<complexType name="SingleLocationType">
		<annotation>
			<documentation>Can be either one coordinate or one distance (in m) from the start of the road section</documentation>
		</annotation>
		<choice>
			<element name="distance" type="mof:Decimal8D2d"/>
			<element name="coordinate" type="gml:PointMemberType"/>
		</choice>
	</complexType>
	<!-- ========================= Data Quality ===================== -->
	<element name="dataQuality" type="abr:DataQualityType" substitutionGroup="abr:_Event"/>
	<complexType name="DataQualityType">
		<annotation>
			<documentation>Data quality data describing a portion of the road section's geometry</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:TwoPointLocationEventType">
				<sequence>
					<element ref="abr:dataSource"/>
					<element ref="abr:mostRecentSourceDate"/>
					<element ref="abr:captureMethod"/>
					<element ref="abr:observationDate"/>
					<element ref="abr:dataAccuracy"/>
					<element ref="abr:description"/>
					<element ref="abr:ccsmCode"/>
					<element ref="abr:horizontalAccuracy"/>
					<element ref="abr:verticalAccuracy"/>
					<element ref="abr:horizontalDatum"/>
					<element ref="abr:verticalDatum"/>
					<element ref="abr:coordinateSystemCode"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ========================= Bridge ===================== -->
	<element name="bridge" type="abr:BridgeType" substitutionGroup="abr:_Event"/>
	<complexType name="BridgeType">
		<annotation>
			<documentation>Structures on a road which pass over waterbodies or other obstacles</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:TwoPointLocationEventType">
				<sequence>
					<element name="superStructureId" type="mof:AlphaNumeric8">
						<annotation>
							<documentation>Unique Bridge ID Number</documentation>
						</annotation>
					</element>
					<element name="siteId" type="mof:AlphaNumeric8">
						<annotation>
							<documentation>ID for Crossing Location</documentation>
						</annotation>
					</element>
					<element name="designLoadRating" type="mof:Integer10D">
						<annotation>
							<documentation>Design Load Rating (tonnes)</documentation>
						</annotation>
					</element>
					<element name="superStructureCode" type="mof:AlphaNumeric10">
						<annotation>
							<documentation>The material from which the superstructure is made.</documentation>
						</annotation>
					</element>
					<element name="bridgeDeckCode" type="mof:AlphaNumeric20">
						<annotation>
							<documentation>The material from which the deck is made. </documentation>
						</annotation>
					</element>
					<element name="substructureCode" type="mof:AlphaNumeric14">
						<annotation>
							<documentation>The material from which the substructure is made. </documentation>
						</annotation>
					</element>
					<element ref="abr:fishPresent" minOccurs="0"/>
					<element ref="abr:riparianClass" minOccurs="0"/>
					<element name="fieldKmMarker" type="mof:AlphaNumeric15" minOccurs="0">
						<annotation>
							<documentation>Marker indicating the location along the route</documentation>
						</annotation>
					</element>
					<element ref="abr:streamName" minOccurs="0"/>
					<element ref="abr:currentLoadRating" minOccurs="0"/>
					<element ref="abr:designVehicleCode" minOccurs="0"/>
					<element name="nextInspectionDate" type="date" minOccurs="0">
						<annotation>
							<documentation>Date of the next scheduled inspection</documentation>
						</annotation>
					</element>
					<element name="bridgeDeckWidth" type="mof:Decimal7D2d" minOccurs="0">
						<annotation>
							<documentation>Deck width (0.01m)</documentation>
						</annotation>
					</element>
					<element ref="abr:chronicMaintenance" minOccurs="0"/>
					<element name="upstreamRisk" type="boolean" minOccurs="0">
						<annotation>
							<documentation>Is there risk to the structure from upstream? </documentation>
						</annotation>
					</element>
					<element ref="abr:inletRisk" minOccurs="0"/>
					<element ref="abr:adequateSize" minOccurs="0"/>
					<element ref="abr:historicWashout" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ========================= Culvert ===================== -->
	<element name="culvert" type="abr:CulvertType" substitutionGroup="abr:_Event"/>
	<complexType name="CulvertType" mixed="0">
		<annotation>
			<documentation>Pipe, arch or box, or log structure, not greater than 6 m in span, that is located below the road surface of a road and is designed to carry water from one side of the road to the other.</documentation>
		</annotation>
		<complexContent mixed="0">
			<extension base="abr:SinglePointLocationEventType">
				<sequence>
					<element name="siteStructureId" type="mof:AlphaNumeric10">
						<annotation>
							<documentation>Unique MoF Structure Number</documentation>
						</annotation>
					</element>
					<element name="diameterOrSpan" type="mof:Decimal9D3d">
						<annotation>
							<documentation>Diameter for round...width for others</documentation>
						</annotation>
					</element>
					<element ref="abr:engineeredStructure"/>
					<element name="materialCode" type="mof:AlphaNumeric10">
						<annotation>
							<documentation>The material of which the culvert is made. </documentation>
						</annotation>
					</element>
					<element name="designLoadRating" type="mof:Integer10D">
						<annotation>
							<documentation>Design load rating in tonnes</documentation>
						</annotation>
					</element>
					<element ref="abr:fishPresent" minOccurs="0"/>
					<element ref="abr:riparianClass" minOccurs="0"/>
					<element name="height" type="mof:Decimal7D2d" minOccurs="0">
						<annotation>
							<documentation>Opening height. Mandatory if the culvert is not round</documentation>
						</annotation>
					</element>
					<element ref="abr:streamName" minOccurs="0"/>
					<element ref="abr:currentLoadRating" minOccurs="0"/>
					<element ref="abr:designVehicleCode" minOccurs="0"/>
					<element name="length" type="mof:Decimal7D2d" minOccurs="0">
						<annotation>
							<documentation>Length (mm along the stream)</documentation>
						</annotation>
					</element>
					<element name="description" type="mof:AlphaNumeric80" minOccurs="0">
						<annotation>
							<documentation>Description</documentation>
						</annotation>
					</element>
					<element ref="abr:adequateSize" minOccurs="0"/>
					<element ref="abr:inletRisk" minOccurs="0"/>
					<element ref="abr:chronicMaintenance" minOccurs="0"/>
					<element ref="abr:comments" minOccurs="0"/>
					<element name="siteId" type="mof:AlphaNumeric10" minOccurs="0">
						<annotation>
							<documentation>ID for the crossing</documentation>
						</annotation>
					</element>
					<element ref="abr:historicWashout" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ====== Linear Structure ========= -->
	<element name="linearStructure" type="abr:LinearStructureType" substitutionGroup="abr:_Event"/>
	<complexType name="LinearStructureType">
		<annotation>
			<documentation>Retaining wall or French drain.</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:TwoPointLocationEventType">
				<sequence>
					<element name="linearFeatureTypeCode" type="mof:AlphaNumeric20">
						<annotation>
							<documentation>Indicates the composition of the structure. Restricted by class.</documentation>
						</annotation>
					</element>
					<element ref="abr:engineeredStructure"/>
					<element name="linearStructureClassCode" type="mof:AlphaNumeric20">
						<annotation>
							<documentation>Indicates the kind of structure. For the purposes of ABR, this is either a Wall or French Drain.</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- =================== Organic Material =================== -->
	<element name="organicMaterial" type="abr:OrganicMaterialType" substitutionGroup="abr:_Event"/>
	<complexType name="OrganicMaterialType">
		<annotation>
			<documentation>Portion of a road containing stumps, roots, and embedded logs left or placed (i) under the road fill within the road prism width, if the road is located on landslide-prone terrain, or
(ii) under the travelled portion of the road fill for other road locations.</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:TwoPointLocationEventType">
				<sequence>
					<element name="roadFeatureTypeCode" type="mof:AlphaNumeric20">
						<annotation>
							<documentation>Indicates the placement of organic material in relation to the road.</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================== Construction Date =================== -->
	<element name="constructionDate" type="abr:ConstructionDateType" substitutionGroup="abr:_Event"/>
	<complexType name="ConstructionDateType">
		<annotation>
			<documentation>Date when event occurred or when construction completed.</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:TwoPointLocationEventType">
				<sequence>
					<element name="constructionTypeCode" type="mof:AlphaNumeric10">
						<annotation>
							<documentation>The main activity for this construction. </documentation>
						</annotation>
					</element>
					<element ref="abr:actualCompletionDate"/>
					<element name="plannedActivity" type="boolean" minOccurs="0">
						<annotation>
							<documentation>Is this a planned activity? Default to false</documentation>
						</annotation>
					</element>
					<element name="seasonCode" type="mof:AlphaNumeric10" minOccurs="0">
						<annotation>
							<documentation>Indicates a period of time within the year.</documentation>
						</annotation>
					</element>
					<element name="outstandingObligation" type="boolean" minOccurs="0">
						<annotation>
							<documentation>Are there any outstanding obligations? </documentation>
						</annotation>
					</element>
					<element name="inspectionPlanned" type="boolean" minOccurs="0">
						<annotation>
							<documentation>Has an inspection been planned?</documentation>
						</annotation>
					</element>
					<element ref="abr:comments" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- =================== Access Control ==================== -->
	<element name="accessControl" type="abr:AccessControlType" substitutionGroup="abr:_Event"/>
	<complexType name="AccessControlType">
		<annotation>
			<documentation>Feature located on the road to prevent or restrict access such as gates and berms.</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:SinglePointLocationEventType">
				<sequence>
					<element name="accessControlCode" type="mof:AlphaNumeric20">
						<annotation>
							<documentation>The Road Access Control Feature </documentation>
						</annotation>
					</element>
					<element name="closureId" type="mof:AlphaNumeric20" minOccurs="0">
						<annotation>
							<documentation>An assigned structure ID code</documentation>
						</annotation>
					</element>
					<element name="installDate" type="date" minOccurs="0">
						<annotation>
							<documentation>Install date</documentation>
						</annotation>
					</element>
					<element name="rationaleCode" type="mof:AlphaNumeric10" minOccurs="0">
						<annotation>
							<documentation>The rationale for the status of the road access.</documentation>
						</annotation>
					</element>
					<element name="roadAccessMethodCode" type="mof:AlphaNumeric10" minOccurs="0">
						<annotation>
							<documentation>The vehicle usage allowed. </documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ==================== Deactivation ===================== -->
	<element name="deactivation" type="abr:DeactivationType" substitutionGroup="abr:_Event"/>
	<complexType name="DeactivationType">
		<annotation>
			<documentation>Portion of a permanent access structure (road) that has been deactivated in accordance with the prescribed requirements: barricade the road surface, remove bridge and log superstructures and stream pipe culverts, remove bridge and log culvert substructures, if failure would have a material adverse effect, stabilize the road prism and clearing width of the road.</documentation>
		</annotation>
		<complexContent>
			<extension base="abr:TwoPointLocationEventType">
				<sequence>
					<element name="roadDeactivationLevel" type="mof:AlphaNumeric30">
						<annotation>
							<documentation>Indicates the relative permanency of the deactivation.</documentation>
						</annotation>
					</element>
					<element ref="abr:actualCompletionDate"/>
					<element name="signageDate" type="date" minOccurs="0">
						<annotation>
							<documentation>The date that signage was installed</documentation>
						</annotation>
					</element>
					<element name="revegDate" type="date" minOccurs="0">
						<annotation>
							<documentation>The date revegetation was done.</documentation>
						</annotation>
					</element>
					<element ref="abr:comments" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
</schema>
