Below is the full Forestry GIS data transfer standard XML Schema, v1.0, which references GML v2.1.2.

<?xml version="1.0" encoding="utf-8"?>

<!-- ======-->

<!-- Forestry GIS Data Transfer Draft, v1.0 -->

<!-- ======-->

<!-- Incorporating GML v2.1.2 for Polygons (Points and Lines can easily be added if required) -->

<!-- Created for Scottish Enterprise Forest Industries Cluster -->

<!-- For more information please refer to the following document: -->

<!-- "Forestry GIS Data Transfer Standard v1.0" -->

<!-- by Oliver Stephenson, Charles Kennelly, ESRI (UK) Ltd., 18th May 2004 -->

<!-- ======-->

<!-- The objects below are each equivalent to one of the "tables" in the Forestry Data Transfer -->

<!-- Standard data model for Organisation and Physical Description. No table relationships are -->

<!-- defined here; this keeps the XSD as simple and re-usable as possible. For specific -->

<!-- relationships in the data you should design/use other .XSDs for particular scenarios, e.g. WGS -->

z

<!-- Olly Stephenson, ESRI (UK) Ltd., 18-May-04 -->

<!-- ======-->

xs:schema targetNamespace=" xmlns=" xmlns:xs=" xmlns:gml=" elementFormDefault="qualified" attributeFormDefault="unqualified" id="ForestryXML_v1.0">

xs:import namespace=" schemaLocation="

xs:complexType name="OrganisationType">

xs:sequence

xs:element name="Organisation_Name" type="NameFieldType"/>

xs:element name="Organisation_ID" type="IDFieldType"/>

xs:element name="Number_Range_Start" type="xs:nonNegativeInteger" minOccurs="0"/>

xs:element name="Number_Range_End" type="xs:positiveInteger" minOccurs="0"/>

<!-- "element" default is to appear once and only once, so only put in min/max where NOT mandatory -->

</xs:sequence

<!-- "sequence" means elements must appear in the order specified -->

</xs:complexType

xs:complexType name="LandManagementUnitType">

xs:sequence

xs:element name="LMU_ID" type="IDFieldType"/>

xs:element name="Shape" type="gml:MultiPolygonPropertyType"/>

xs:element name="Area" type="AreaType"/>

xs:element name="Geometry_Quality" type="GeometryQualityType"/>

xs:element name="Level" type="LevelType"/>

xs:element name="LMU_Name" type="NameFieldType" minOccurs="0"/>

xs:element name="Ownership_Type" type="OwnershipType" minOccurs="0"/>

xs:element name="Management_Company" type="xs:string" minOccurs="0"/>

xs:element name="Plan_Name" type="xs:string" minOccurs="0"/>

xs:element name="Description" type="xs:string" minOccurs="0"/>

xs:element name="Capture_Type" type="xs:string" minOccurs="0"/>

xs:element name="Objectives_Comments" type="xs:string" minOccurs="0"/>

xs:element name="Approval_Date" type="xs:date" minOccurs="0"/>

xs:element name="Revision_Date" type="xs:date" minOccurs="0"/>

xs:element name="Expiry_Date" type="xs:date" minOccurs="0"/>

xs:element name="Designed_By" type="xs:string" minOccurs="0"/>

xs:element name="Attribute_Quality" type="AttributeQualityType" minOccurs="0"/>

</xs:sequence

</xs:complexType

xs:complexType name="CompartmentType">

xs:sequence

xs:element name="CPRT_ID" type="IDFieldType"/>

xs:element name="Reference" type="IDFieldType"/>

xs:element name="Shape" type="gml:MultiPolygonPropertyType"/>

xs:element name="Area" type="AreaType"/>

xs:element name="Geometry_Quality" type="GeometryQualityType"/>

xs:element name="Level" type="LevelType"/>

xs:element name="CPRT_Name" type="NameFieldType" minOccurs="0"/>

</xs:sequence

</xs:complexType

xs:complexType name="SubCompartmentType">

xs:sequence

xs:element name="SUB_CPRT_ID" type="IDFieldType"/>

xs:element name="Reference" type="IDFieldType"/>

xs:element name="Shape" type="gml:MultiPolygonPropertyType"/>

xs:element name="Area" type="AreaType"/>

xs:element name="Geometry_Quality" type="GeometryQualityType"/>

xs:element name="Level" type="LevelType"/>

xs:element name="SUB_CPRT_Name" type="NameFieldType" minOccurs="0"/>

xs:element name="InsuranceValue" type="CurrencyType" minOccurs="0"/>

xs:element name="Altitude" type="xs:nonNegativeInteger" minOccurs="0"/>

xs:element name="Terrain_Condition" type="TerrainType" minOccurs="0"/>

xs:element name="Terrain_Roughness" type="TerrainType" minOccurs="0"/>

xs:element name="Terrain_Slope" type="TerrainType" minOccurs="0"/>

xs:element name="Cultivation" type="CultivationType" minOccurs="0"/>

xs:element name="Soil_Type" type="SoilType" minOccurs="0"/>

xs:element name="Harvesting_Type" type="xs:string" minOccurs="0"/>

xs:element name="Aspect" type="AspectType" minOccurs="0"/>

xs:element name="Survey_Date" type="xs:date" minOccurs="0"/>

xs:element name="Attribute_Quality" type="AttributeQualityType" minOccurs="0"/>

</xs:sequence

</xs:complexType

xs:complexType name="ComponentType">

xs:sequence

xs:element name="CMPNT_ID" type="IDFieldType"/>

xs:element name="Reference" type="IDFieldType"/>

xs:element name="Percentage_SC_Area" type="PercentageType"/>

xs:element name="Landuse" type="LanduseType"/>

xs:element name="Species" type="SpeciesType"/>

xs:element name="CMPNT_Name" type="NameFieldType" minOccurs="0"/>

xs:element name="Wind_Blow_Date" type="xs:date" minOccurs="0"/>

xs:element name="Storey" type="StoreyType" minOccurs="0"/>

xs:element name="Seed_Provenance" type="SeedProvenanceType" minOccurs="0"/>

xs:element name="Seed_Origin" type="SeedOriginType" minOccurs="0"/>

xs:element name="Establishment_Method" type="EstablishmentMethodType" minOccurs="0"/>

xs:element name="Planting_Year" type="xs:gYear" minOccurs="0"/>

xs:element name="Plant_Type" type="PlantType" minOccurs="0"/>

xs:element name="Planting_Year_Accuracy" type="PlantingYearAccuracyType" minOccurs="0"/>

xs:element name="Yield_Class" type="YieldClassType" minOccurs="0"/>

xs:element name="Yield_Class_Type" type="YieldClassAccuracyType" minOccurs="0"/>

xs:element name="Rotation" type="RotationType" minOccurs="0"/>

xs:element name="Wind_Hazard" type="WindHazardType" minOccurs="0"/>

xs:element name="Established_Spacing" type="xs:short" minOccurs="0"/>

xs:element name="Stems_Per_Hectare" type="xs:short" minOccurs="0"/>

xs:element name="Stems_Survey_Date" type="xs:date" minOccurs="0"/>

xs:element name="Habitat_Type" type="xs:string" minOccurs="0"/>

xs:element name="Silvicultural_System" type="SilviculturalSystemType" minOccurs="0"/>

xs:element name="Mixture" type="MixtureType" minOccurs="0"/>

xs:element name="Production_Class" type="ProductionClassType" minOccurs="0"/>

xs:element name="Basal_Area_Per_Hectare" type="xs:nonNegativeInteger" minOccurs="0"/>

xs:element name="Basal_Area_Survey_Date" type="xs:date" minOccurs="0"/>

xs:element name="Volume_Per_Hectare" type="xs:nonNegativeInteger" minOccurs="0"/>

xs:element name="Volume_Survey_Date" type="xs:date" minOccurs="0"/>

xs:element name="Attribute_Quality" type="AttributeQualityType" minOccurs="0"/>

xs:element name="Timber_Quality" type="xs:string" minOccurs="0"/>

</xs:sequence

</xs:complexType

<!-- ======-->

<!-- Use these GML geometry types for multi-parts -->

<!-- ======-->

<!-- POLYGONS: "gml:MultiPolygonPropertyType" -->

<!-- LINES: "gml:MultiLineStringPropertyType" -->

<!-- POINTS: "gml:MultiPointPropertyType" -->

<!-- ======-->

<!-- Use these GML geometry types for single-parts -->

<!-- ======-->

<!-- POLYGONS: "gml:PolygonPropertyType" -->

<!-- LINES: "gml:LineStringPropertyType" -->

<!-- POINTS: "gml:PointPropertyType" -->

<!-- ======-->

<!-- These are all the basic Forestry type definitions -->

<!-- Most field range values come from Roger Coppock (via email), FIC, 18/05/04 -->

<!-- ======-->

xs:simpleType name="IDFieldType">

xs:restriction base="xs:integer">

xs:totalDigits value="10"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="NameFieldType">

xs:restriction base="xs:string">

xs:maxLength value="100"/>

</xs:restriction

</xs:simpleType

<!-- set Area and Length separately so we have more control in the future -->

xs:simpleType name="AreaType">

xs:restriction base="xs:decimal">

xs:totalDigits value="30"/>

xs:fractionDigits value="6"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="LengthType">

xs:restriction base="xs:decimal">

xs:totalDigits value="30"/>

xs:fractionDigits value="6"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="LevelType">

xs:restriction base="xs:string">

xs:enumeration value="LMU"/>

xs:enumeration value="Compartment"/>

xs:enumeration value="SubCompartment"/>

xs:enumeration value="Component"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="OwnershipType">

xs:restriction base="xs:string">

xs:enumeration value="Leased"/>

xs:enumeration value="Owned"/>

xs:enumeration value="Mixed Ownership"/>

xs:enumeration value="Trust"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="GeometryQualityType">

xs:restriction base="xs:string">

xs:enumeration value="1:2500"/>

xs:enumeration value="1:10000"/>

xs:enumeration value="1:25000"/>

xs:enumeration value="1:50000"/>

xs:enumeration value="OS MasterMap"/>

xs:enumeration value="Aerial Photo"/>

xs:enumeration value="GPS ±10m"/>

xs:enumeration value="GPS ±20m"/>

xs:enumeration value="GPS ±100m"/>

xs:enumeration value="pre GIS"/>

xs:enumeration value="Unknown"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="AttributeQualityType">

xs:restriction base="xs:string">

xs:enumeration value="High"/>

xs:enumeration value="Medium"/>

xs:enumeration value="Low"/>

xs:enumeration value="Unknown"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="CurrencyType">

xs:restriction base="xs:decimal">

xs:totalDigits value="15"/>

xs:fractionDigits value="2"/>

xs:minInclusive value="0"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="TerrainType">

xs:restriction base="xs:integer">

xs:minInclusive value="1"/>

xs:maxInclusive value="5"/>

xs:fractionDigits value="0"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="CultivationType">

xs:restriction base="xs:string">

xs:enumeration value="10"/>

xs:enumeration value="11"/>

xs:enumeration value="12"/>

xs:enumeration value="20"/>

xs:enumeration value="21"/>

xs:enumeration value="22"/>

xs:enumeration value="23"/>

xs:enumeration value="24"/>

xs:enumeration value="25"/>

xs:enumeration value="26"/>

xs:enumeration value="30"/>

xs:enumeration value="31"/>

xs:enumeration value="32"/>

xs:enumeration value="33"/>

xs:enumeration value="40"/>

xs:enumeration value="41"/>

xs:enumeration value="42"/>

xs:enumeration value="43"/>

xs:enumeration value="44"/>

xs:enumeration value="45"/>

xs:enumeration value="46"/>

xs:enumeration value="50"/>

xs:enumeration value="51"/>

xs:enumeration value="52"/>

xs:enumeration value="53"/>

xs:enumeration value="54"/>

xs:enumeration value="55"/>

xs:enumeration value="56"/>

xs:enumeration value="57"/>

xs:enumeration value="58"/>

xs:enumeration value="59"/>

xs:enumeration value="60"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="SoilType">

xs:restriction base="xs:string">

xs:enumeration value="10"/>

xs:enumeration value="11"/>

xs:enumeration value="12"/>

xs:enumeration value="13"/>

xs:enumeration value="20"/>

xs:enumeration value="21"/>

xs:enumeration value="22"/>

xs:enumeration value="30"/>

xs:enumeration value="31"/>

xs:enumeration value="32"/>

xs:enumeration value="33"/>

xs:enumeration value="34"/>

xs:enumeration value="35"/>

xs:enumeration value="40"/>

xs:enumeration value="41"/>

xs:enumeration value="42"/>

xs:enumeration value="43"/>

xs:enumeration value="44"/>

xs:enumeration value="50"/>

xs:enumeration value="53"/>

xs:enumeration value="54

xs:enumeration value="55"/>

xs:enumeration value="56"/>

xs:enumeration value="57"/>

xs:enumeration value="60"/>

xs:enumeration value="61"/>

xs:enumeration value="62"/>

xs:enumeration value="63"/>

xs:enumeration value="70"/>

xs:enumeration value="73"/>

xs:enumeration value="74"/>

xs:enumeration value="80"/>

xs:enumeration value="81"/>

xs:enumeration value="82"/>

xs:enumeration value="83"/>

xs:enumeration value="90"/>

xs:enumeration value="93"/>

xs:enumeration value="94"/>

xs:enumeration value="95"/>

xs:enumeration value="100"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="AspectType">

xs:restriction base="xs:string">

xs:enumeration value="N"/>

xs:enumeration value="NE"/>

xs:enumeration value="E"/>

xs:enumeration value="SE"/>

xs:enumeration value="S"/>

xs:enumeration value="SW"/>

xs:enumeration value="W"/>

xs:enumeration value="NW"/>

</xs:restriction

</xs:simpleType

<!-- Landuse from FIC/Roger Coppock 31/10/2003 -->

xs:simpleType name="LanduseType">

xs:restriction base="xs:string">

xs:enumeration value="AGR"/>

xs:enumeration value="CRC"/>

xs:enumeration value="CRH"/>

xs:enumeration value="EMM"/>

xs:enumeration value="EMO"/>

xs:enumeration value="EMP"/>

xs:enumeration value="EMR"/>

xs:enumeration value="FMC"/>

xs:enumeration value="FMD"/>

xs:enumeration value="FMG"/>

xs:enumeration value="FMN"/>

xs:enumeration value="FMQ"/>

xs:enumeration value="FMR"/>

xs:enumeration value="FMS"/>

xs:enumeration value="FMW"/>

xs:enumeration value="FRC"/>

xs:enumeration value="FRE"/>

xs:enumeration value="FRO"/>

xs:enumeration value="GOS"/>

xs:enumeration value="LHP"/>

xs:enumeration value="MAS"/>

xs:enumeration value="MOW"/>

xs:enumeration value="NAO"/>

xs:enumeration value="NAR"/>

xs:enumeration value="OPN"/>

xs:enumeration value="PBU"/>

xs:enumeration value="PFA"/>

xs:enumeration value="PFE"/>

xs:enumeration value="PHF"/>

xs:enumeration value="PIB"/>

xs:enumeration value="PRP"/>

xs:enumeration value="PSS"/>

xs:enumeration value="PWB"/>

xs:enumeration value="PWC"/>

xs:enumeration value="UNP"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="StoreyType">

xs:restriction base="xs:string">

xs:enumeration value="Single"/>

xs:enumeration value="Lower"/>

xs:enumeration value="Upper Main"/>

xs:enumeration value="Upper Subsidiary"/>

</xs:restriction

</xs:simpleType

<!-- Species from FIC/Roger Coppock 31/10/2003 -->

xs:simpleType name="SpeciesType">

xs:restriction base="xs:string">

xs:enumeration value="AR"/>

xs:enumeration value="CAR"/>

xs:enumeration value="VAR"/>

xs:enumeration value="GAR"/>

xs:enumeration value="RAR"/>

xs:enumeration value="AH"/>

xs:enumeration value="ASP"/>

xs:enumeration value="BE"/>

xs:enumeration value="BI"/>

xs:enumeration value="PBI"/>

xs:enumeration value="SBI"/>

xs:enumeration value="CH"/>

xs:enumeration value="BCH"/>

xs:enumeration value="WCH"/>

xs:enumeration value="HCH"/>

xs:enumeration value="SC"/>

xs:enumeration value="EM"/>

xs:enumeration value="EEM"/>

xs:enumeration value="SEM"/>

xs:enumeration value="WEM"/>

xs:enumeration value="HAZ"/>

xs:enumeration value="HBM"/>

xs:enumeration value="LI"/>

xs:enumeration value="CLI"/>

xs:enumeration value="LLI"/>

xs:enumeration value="SLI"/>

xs:enumeration value="FM"/>

xs:enumeration value="NOM"/>

xs:enumeration value="OK"/>

xs:enumeration value="POK"/>

xs:enumeration value="ROK"/>

xs:enumeration value="SOK"/>

xs:enumeration value="XOK"/>

xs:enumeration value="PO"/>

xs:enumeration value="GPO"/>

xs:enumeration value="BPO"/>

xs:enumeration value="NO"/>

xs:enumeration value="NOO"/>

xs:enumeration value="NOP"/>

xs:enumeration value="ROW"/>

xs:enumeration value="SY"/>

xs:enumeration value="WL"/>

xs:enumeration value="GWL"/>

xs:enumeration value="CWL"/>

xs:enumeration value="WWL"/>

xs:enumeration value="NBL"/>

xs:enumeration value="MB"/>

xs:enumeration value="WSH"/>

xs:enumeration value="XB"/>

xs:enumeration value="CED"/>

xs:enumeration value="RC"/>

xs:enumeration value="JCR"/>

xs:enumeration value="LC"/>

xs:enumeration value="LEC"/>

xs:enumeration value="FIR"/>

xs:enumeration value="DF"/>

xs:enumeration value="GF"/>

xs:enumeration value="NF"/>

xs:enumeration value="ESF"/>

xs:enumeration value="XF"/>

xs:enumeration value="LAR"/>

xs:enumeration value="EL"/>

xs:enumeration value="HL"/>

xs:enumeration value="JL"/>

xs:enumeration value="PIN"/>

xs:enumeration value="AUP"/>

xs:enumeration value="BIP"/>

xs:enumeration value="CP"/>

xs:enumeration value="LP"/>

xs:enumeration value="MCP"/>

xs:enumeration value="MAP"/>

xs:enumeration value="MOP"/>

xs:enumeration value="XP"/>

xs:enumeration value="PDP"/>

xs:enumeration value="RAP"/>

xs:enumeration value="SP"/>

xs:enumeration value="SPC"/>

xs:enumeration value="WEP"/>

xs:enumeration value="RW"/>

xs:enumeration value="RSQ"/>

xs:enumeration value="WSQ"/>

xs:enumeration value="SPR"/>

xs:enumeration value="NS"/>

xs:enumeration value="OMS"/>

xs:enumeration value="XS"/>

xs:enumeration value="SS"/>

xs:enumeration value="WH"/>

xs:enumeration value="YEW"/>

xs:enumeration value="MC"/>

xs:enumeration value="XC"/>

xs:enumeration value="CAP"/>

xs:enumeration value="WST"/>

xs:enumeration value="WHI"/>

xs:enumeration value="WAL"/>

xs:enumeration value="LPL"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="SeedProvenanceType">

xs:restriction base="xs:string">

xs:enumeration value="10"/>

xs:enumeration value="20"/>

xs:enumeration value="30"/>

xs:enumeration value="40"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="SeedOriginType">

xs:restriction base="xs:string">

xs:enumeration value="Lodgepole - Alaskan (A)"/>

xs:enumeration value="Lodgepole - Central and northern interior (C)"/>

xs:enumeration value="Lodgepole - North coastal (N)"/>

xs:enumeration value="Lodgepole - Skeena river (K)"/>

xs:enumeration value="Lodgepole - South coastal (S)"/>

xs:enumeration value="Lodgepole - Southern Interior (I)"/>

xs:enumeration value="Sitka - Alaskan (A)"/>

xs:enumeration value="Sitka - Oregon (R)"/>

xs:enumeration value="Sitka - Queen Charlotte Islands (Q)"/>

xs:enumeration value="Sitka - Washington (W)"/>

xs:enumeration value="Scots Pine - Caledonian (C)"/>

xs:enumeration value="Oak - Pedunculate (P)"/>

xs:enumeration value="Oak - Sessile (S)"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="EstablishmentMethodType">

xs:restriction base="xs:string">

xs:enumeration value="Naturally regenerated"/>

xs:enumeration value="Direct seed"/>

xs:enumeration value="Hand plant"/>

xs:enumeration value="Mechanical plant"/>

xs:enumeration value="Enrichment"/>

xs:enumeration value="Unknown"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="PlantType">

xs:restriction base="xs:string">

xs:enumeration value="Bare root"/>

xs:enumeration value="Cutting"/>

xs:enumeration value="Seed"/>

xs:enumeration value="Vegetatively propagated bare root"/>

xs:enumeration value="Vegetatively propagated containerised"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="PlantingYearAccuracyType">

xs:restriction base="xs:string">

xs:enumeration value="Actual"/>

xs:enumeration value="Estimated"/>

xs:enumeration value="Effective PY"/>

xs:enumeration value="Unknown"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="YieldClassType">

xs:restriction base="xs:integer">

xs:minInclusive value="0"/>

xs:maxInclusive value="34"/>

xs:fractionDigits value="0"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="YieldClassAccuracyType">

xs:restriction base="xs:string">

xs:enumeration value="Estimated"/>

xs:enumeration value="General YC"/>

xs:enumeration value="Local YC"/>

xs:enumeration value="Surveyed"/>

xs:enumeration value="Unknown"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="RotationType">

xs:restriction base="xs:string">

xs:enumeration value="1st rotation on formerly bare land"/>

xs:enumeration value="2nd and subsequent rotations"/>

xs:enumeration value="Ancient semi-natural woodland"/>

xs:enumeration value="Historically woodland"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="WindHazardType">

xs:restriction base="xs:integer">

xs:minInclusive value="1"/>

xs:maxInclusive value="6"/>

xs:fractionDigits value="0"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="SilviculturalSystemType">

xs:restriction base="xs:string">

xs:enumeration value="Clear Fell"/>

xs:enumeration value="Continuous Cover"/>

xs:enumeration value="Coppice"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="MixtureType">

xs:restriction base="xs:string">

xs:enumeration value="Blocky"/>

xs:enumeration value="Intimate"/>

xs:enumeration value="Pure Crops"/>

xs:enumeration value="Row"/>

xs:enumeration value="Undefined"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="ProductionClassType">

xs:restriction base="xs:string">

xs:enumeration value="A"/>

xs:enumeration value="B"/>

xs:enumeration value="C"/>

</xs:restriction

</xs:simpleType

xs:simpleType name="PercentageType">

xs:restriction base="xs:integer">

xs:minInclusive value="0"/>

xs:maxInclusive value="100"/>

xs:fractionDigits value="0"/>

</xs:restriction

</xs:simpleType

</xs:schema

<end of document>