<?xml version="1.0"?>
<!--
  WASTE ESF Schema
  DRAFT Version

  Who         When        What
  ==========================================
  Pangaea (bkyle)  2005-02-09   Created.

 -->
<schema xmlns:waste="http://www.for.gov.bc.ca/schema/waste" xmlns:mof="http://www.for.gov.bc.ca/schema/base" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esf="http://www.for.gov.bc.ca/schema/esf" targetNamespace="http://www.for.gov.bc.ca/schema/waste" elementFormDefault="qualified" version="3">
  <annotation>
    <documentation>BC MOF WASTE Submission schema for use in the Electronic Submission Framework.  Copyright (c) 2002 BC Ministry of Forests, All Rights Reserved.</documentation>
  </annotation>
  <!-- import MOF Base constructs -->
  <import namespace="http://www.for.gov.bc.ca/schema/base" schemaLocation="mof-base.xsd"/>
  <!-- import MOF Base constructs -->
  <import namespace="http://www.for.gov.bc.ca/schema/esf" schemaLocation="esf-submission.xsd"/>
  <!-- ========================= Submission Types ==================================== -->
  <element name="WasteSubmission" type="waste:WasteSubmissionType"/>
  <complexType name="WasteSubmissionType">
    <annotation>
      <documentation>Adds metadata and submissionItem properties.</documentation>
    </annotation>
    <sequence minOccurs="0">
      <element name="submissionMetadataProperty" type="waste:WasteSubmissionMetadataAssociationType"/>
      <element ref="waste:submissionItem" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
  </complexType>
  <complexType name="WasteSubmissionMetadataAssociationType">
    <sequence>
      <element name="SubmissionMetadata" type="waste:WasteSubmissionMetadataType"/>
    </sequence>
  </complexType>
  <complexType name="WasteSubmissionMetadataType">
    <sequence>
      <element name="districtCode" type="mof:AlphaNumeric3" nillable="false"/>
      <element name="clientCode" type="mof:AlphaNumeric8" nillable="false"/>
      <element name="clientLocationCode" type="mof:AlphaNumeric2" nillable="false"/>
      <element name="licenseeContact" type="mof:AlphaNumeric50" nillable="false"/>
      <element name="telephoneNumber" type="mof:TelephoneNumberType" nillable="false"/>
      <element name="emailAddress" type="mof:AlphaNumeric255" nillable="false"/>
    </sequence>
  </complexType>
  <element name="submissionItem">
    <complexType>
      <complexContent>
        <extension base="waste:WasteSubmissionItemAssociationType"/>
      </complexContent>
    </complexType>
  </element>
  <complexType name="WasteSubmissionItemAssociationType">
    <sequence>
      <element ref="waste:WasteAssessmentArea"/>
    </sequence>
  </complexType>
  <element name="WasteAssessmentArea" type="waste:WasteAssessmentAreaType"/>
  <complexType name="WasteAssessmentAreaType">
    <sequence>
      <element name="reportingUnitID" type="mof:NonNegativeInteger12D" nillable="false"/>
      <element name="licenseNo" type="mof:AlphaNumeric10" nillable="false"/>
      <element name="timberMark" type="mof:AlphaNumeric6"/>
      <element name="cuttingPermitID" type="mof:AlphaNumeric3"/>
      <element name="cutBlockID" type="mof:AlphaNumeric10"/>
      <element name="wasteMaturityTypeCode" type="mof:AlphaNumeric8" minOccurs="0"/>
      <element name="wasteConditionTypeCode" type="mof:AlphaNumeric3" minOccurs="0"/>
      <element name="wasteSiteTypeCode" type="mof:AlphaNumeric2" minOccurs="0"/>
      <element name="wasteNetArea" type="mof:Decimal5D2d" nillable="false"/>
      <element name="yearLoggedFrom" type="mof:NonNegativeInteger4D" nillable="false"/>
      <element name="yearLoggedTo" type="mof:NonNegativeInteger4D" nillable="false"/>
      <element name="primaryLoggingCompleteDate" type="date" nillable="false"/>
      <element name="benchmarkVolume" type="mof:NonNegativeInteger2D" nillable="false"/>
      <element name="wasteSurveyorLicence" type="mof:AlphaNumeric4" nillable="false"/>
      <element name="returnNumber" type="mof:AlphaNumeric4" nillable="false"/>
      <element name="wasteRoadsArea" type="mof:Decimal4D2d" minOccurs="0"/>
      <element name="surveyDate" type="date" nillable="false"/>
      <element name="cruiseVolume" type="mof:NonNegativeInteger4D" minOccurs="0"/>
      <element name="submitToDistrict" type="boolean"/>
      <element name="submitterRoleTypeCode" type="mof:AlphaNumeric3" minOccurs="0"/>
      <element name="surveyorScalerLicenseNumber" type="mof:AlphaNumeric5" minOccurs="0"/>
      <element name="personallyCompleted" type="boolean" minOccurs="0"/>
      <element name="sponsoredByRpfRft" type="boolean" minOccurs="0"/>
      <element name="wasteDesignationTypeCode" type="mof:AlphaNumeric3" minOccurs="0"/>
      <element name="sponsorName" type="mof:AlphaNumeric80" minOccurs="0"/>
      <element name="sponsorLicenseNumber" type="mof:AlphaNumeric5" minOccurs="0"/>
      <element name="sponsorPhone" type="mof:AlphaNumeric12" minOccurs="0"/>
      <element name="sponsorFax" type="mof:AlphaNumeric12" minOccurs="0"/>
      <element name="sponsorEmail" type="mof:AlphaNumeric100" minOccurs="0"/>
      <element name="statusComment" type="mof:AlphaNumeric2000" minOccurs="0"/>
      <sequence minOccurs="0" maxOccurs="unbounded">
        <element ref="waste:WasteStratum" minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </sequence>
  </complexType>
  <element name="WasteStratum" type="waste:WasteStratumType"/>
  <complexType name="WasteStratumType">
    <sequence>
      <element name="wasteStratumTypeCode" type="mof:AlphaNumeric3" nillable="false"/>
      <element name="wasteTypeCode" type="mof:AlphaNumeric3" minOccurs="0"/>
      <element name="wasteHarvestMethodCode" type="mof:AlphaNumeric2" minOccurs="0"/>
      <element name="wasteAssessmentMethodCode" type="mof:AlphaNumeric4" nillable="false"/>
      <element name="wastePlotSizeCode" type="mof:NonNegativeInteger5D" minOccurs="0"/>
      <element name="wasteLevelCode" type="mof:AlphaNumeric1" nillable="false" minOccurs="0"/>
      <element name="stratumArea" type="mof:Decimal5D2d" nillable="false"/>
      <element name="totalEstimatedVolume" type="mof:NonNegativeInteger4D" minOccurs="0"/>
      <sequence minOccurs="0" maxOccurs="unbounded">
        <element ref="waste:WastePlot" minOccurs="0" maxOccurs="unbounded"/>
        <element ref="waste:WastePiece" minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </sequence>
  </complexType>
  <element name="WastePlot" type="waste:WastePlotType"/>
  <complexType name="WastePlotType">
    <sequence>
      <element name="wastePlotNumber" type="mof:NonNegativeInteger2D" nillable="false"/>
      <element name="wasteBaseline" type="mof:AlphaNumeric1" minOccurs="0"/>
      <element name="wasteStrip" type="mof:NonNegativeInteger2D" minOccurs="0"/>
      <element name="measureFactor" type="mof:NonNegativeInteger3D" nillable="false"/>
      <sequence minOccurs="0" maxOccurs="unbounded">
        <element ref="waste:WastePiece" minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </sequence>
  </complexType>
  <element name="WastePiece" type="waste:WastePieceType"/>
  <complexType name="WastePieceType">
    <sequence>
      <element name="scaleSpeciesCode" type="mof:AlphaNumeric2" nillable="false"/>
      <element name="wasteMaterialKindCode" type="mof:AlphaNumeric1" nillable="false"/>
      <element name="wasteClassCode" type="mof:AlphaNumeric1" nillable="false"/>
      <element name="scaleGradeCode" type="mof:AlphaNumeric1" nillable="false"/>
      <element name="length" type="mof:NonNegativeInteger3D" minOccurs="0"/>
      <element name="topDiameter" type="mof:NonNegativeInteger3D" minOccurs="0"/>
      <element name="topEndCode" type="mof:AlphaNumeric1" minOccurs="0"/>
      <element name="buttDiameter" type="mof:NonNegativeInteger3D" minOccurs="0"/>
      <element name="buttEndCode" type="mof:AlphaNumeric1" minOccurs="0"/>
      <element name="wasteBorderlineCode" type="mof:AlphaNumeric1" minOccurs="0"/>
      <element name="lengthDeduction" type="mof:Decimal3D1d" minOccurs="0"/>
      <element name="topDeduction" type="mof:NonNegativeInteger3D" minOccurs="0"/>
      <element name="buttDeduction" type="mof:NonNegativeInteger3D" minOccurs="0"/>
      <element name="wasteDecayTypeCode" type="mof:AlphaNumeric1" minOccurs="0"/>
      <element name="wasteCommentCode" type="mof:AlphaNumeric2" minOccurs="0"/>
      <element name="estimatedVolume" type="mof:Decimal5D1d" minOccurs="0"/>
      <element name="estimatedPercent" type="mof:Decimal6D1d" minOccurs="0"/>
      <element name="estimatedDensity" type="mof:Decimal6D1d" minOccurs="0"/>
    </sequence>
  </complexType>
</schema>
