<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Pascal Haegeli (Avisualanche Consulting) -->
<schema xmlns:caaml="http://caaml.org/Schemas/V5.0/Profiles/SnowProfileIACS" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://caaml.org/Schemas/V5.0/Profiles/SnowProfileIACS" elementFormDefault="qualified" attributeFormDefault="unqualified" version="5.0.5">
	<import namespace="http://www.opengis.net/gml" schemaLocation="CAAMLv5_SnowProfileIACS_GML.xsd"/>
	<!--**********************************************************-->
	<!--***        MAIN SNOWPROFILE ELEMENTS         ***-->
	<!--**********************************************************-->
	<complexType name="ObsMetaDataType">
		<sequence>
			<element name="dateTimeReport" type="gml:TimePositionType"/>
			<element name="srcRef" type="caaml:SourceRefType"/>
			<element ref="caaml:comment" minOccurs="0"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--***-->
	<element name="SnowProfile" type="caaml:SnowProfileType"/>
	<complexType name="SnowProfileType" final="#all">
		<sequence>
			<element name="metaDataProperty">
				<complexType>
					<sequence>
						<element name="MetaData" type="caaml:ObsMetaDataType"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:validTime"/>
			<element name="snowProfileResultsOf">
				<complexType>
					<sequence>
						<element ref="caaml:SnowProfileMeasurements"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:locRef"/>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--***-->
	<element name="SnowProfileMeasurements" type="caaml:SnowProfileMeasurementsType"/>
	<complexType name="SnowProfileMeasurementsType">
		<complexContent>
			<extension base="caaml:ObsMeasurementsType">
				<sequence>
					<element name="profileDepth" type="caaml:MeasureLengthCmType" minOccurs="0">
						<annotation>
							<documentation>Property element for depth of snow profile</documentation>
						</annotation>
					</element>
					<element name="skyCond" type="caaml:SkyCondType" minOccurs="0">
						<annotation>
							<documentation>Property element for sky condition (METAR)</documentation>
						</annotation>
					</element>
					<element name="precipTI" type="caaml:PrecipTIType" minOccurs="0">
						<annotation>
							<documentation>Property element for precipitation type and intensity</documentation>
						</annotation>
					</element>
					<element name="airTempPres" type="caaml:TempType" minOccurs="0">
						<annotation>
							<documentation>Property element for air temperature 1.5 m above snow surface</documentation>
						</annotation>
					</element>
					<element name="windSpd" type="caaml:WindSpdType" minOccurs="0">
						<annotation>
							<documentation>Property element for wind speed</documentation>
						</annotation>
					</element>
					<element name="windDir" type="caaml:ValidAspectType" minOccurs="0">
						<annotation>
							<documentation>Property element for wind direction</documentation>
						</annotation>
					</element>
					<element name="hS" type="caaml:SnowHeightPointRegularType" minOccurs="0">
						<annotation>
							<documentation>Property element for height of snowpack, snow depth  and snow water equivalent</documentation>
						</annotation>
					</element>
					<element name="hN24" type="caaml:SnowHeightPointRegularType" minOccurs="0">
						<annotation>
							<documentation>Property element for 24 hour height of new snow and snow water equivalent</documentation>
						</annotation>
					</element>
					<element name="hIN" type="caaml:SnowHeightPointIrregularType" minOccurs="0">
						<annotation>
							<documentation>Property element for irregular intervall height of new snow and snow water equivalent - NEED TO ADD TO CAAML</documentation>
						</annotation>
					</element>
					<element name="penetrationRam" type="caaml:MeasureLengthCmType" minOccurs="0">
						<annotation>
							<documentation>Propert element for penetration depth of first element of a Swiss rammsonde by its own weight (1 m, 10 N)</documentation>
						</annotation>
					</element>
					<element name="penetrationFoot" type="caaml:MeasureLengthCmType" minOccurs="0">
						<annotation>
							<documentation>Propert element for penetration depth of a person standing on one foot</documentation>
						</annotation>
					</element>
					<element name="penetrationSki" type="caaml:MeasureLengthCmType" minOccurs="0">
						<annotation>
							<documentation>Propert element for penetration depth of a person standing on one ski</documentation>
						</annotation>
					</element>
					<element name="surfFeatures" type="caaml:SurfFeatureType" minOccurs="0">
						<annotation>
							<documentation>Property element for snow surface feature</documentation>
						</annotation>
					</element>
					<element ref="caaml:stratProfile" minOccurs="0"/>
					<element ref="caaml:tempProfile" minOccurs="0"/>
					<element ref="caaml:densityProfile" minOccurs="0"/>
					<element ref="caaml:lwcProfile" minOccurs="0"/>
					<element ref="caaml:specSurfAreaProfile" minOccurs="0"/>
					<element ref="caaml:hardnessProfile" minOccurs="0" maxOccurs="unbounded"/>
					<element ref="caaml:stbTests" minOccurs="0"/>
				</sequence>
				<attribute name="dir" type="caaml:DirectionType" use="required" fixed="top down"/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ObsMeasurementsType" abstract="true">
		<sequence>
			<element ref="caaml:customData" minOccurs="0"/>
			<element ref="caaml:comment" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--**********************************************************-->
	<!--***        SOURCE REFERENCE ELEMENTS         ***-->
	<!--**********************************************************-->
	<complexType name="SourceRefType">
		<choice>
			<element ref="caaml:Operation"/>
			<element ref="caaml:Person"/>
		</choice>
	</complexType>
	<complexType name="SourceType">
		<sequence>
			<element ref="caaml:customData" minOccurs="0"/>
			<element name="name" type="string"/>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--***-->
	<complexType name="OperationRefType" final="#all">
		<choice>
			<element ref="caaml:Operation"/>
		</choice>
	</complexType>
	<element name="Operation" type="caaml:OperationType"/>
	<complexType name="OperationType" final="#all">
		<complexContent>
			<extension base="caaml:SourceType">
				<sequence>
					<element name="contactPerson" type="caaml:PersonRefType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!--***-->
	<complexType name="PersonRefType">
		<choice>
			<element ref="caaml:Person"/>
		</choice>
	</complexType>
	<element name="Person" type="caaml:PersonType"/>
	<complexType name="PersonType" final="#all">
		<complexContent>
			<extension base="caaml:SourceType"/>
		</complexContent>
	</complexType>
	<!--******************************************************************************-->
	<!--***            LAYER AND POINT OBS TYPE DEFINITIONS               ***-->
	<!--******************************************************************************-->
	<complexType name="LayerPointObsMetaDataType" final="#all">
		<sequence>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--***-->
	<complexType name="LayerBaseType">
		<complexContent>
			<extension base="caaml:LayerPointObsRootType">
				<sequence>
					<element name="depthTop" type="caaml:MeasureLengthCmType">
						<annotation>
							<documentation>Property element for depth of top of layer (with unit)</documentation>
						</annotation>
					</element>
					<element name="thickness" type="caaml:MeasureLengthCmType" minOccurs="0">
						<annotation>
							<documentation>Property element for thickness of layer (with unit)</documentation>
						</annotation>
					</element>
					<group ref="caaml:grainGroup"/>
					<element name="validFormationTime" type="caaml:ValidTimeType" minOccurs="0">
						<annotation>
							<documentation>Porperty element for description of depositions time of layer</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="LayerInProfileBaseType">
		<complexContent>
			<extension base="caaml:LayerPointObsRootType">
				<sequence>
					<element name="depthTop" type="caaml:NonNegDoubleOrNilReasonType">
						<annotation>
							<documentation>Property element for depth of top of layer</documentation>
						</annotation>
					</element>
					<element name="thickness" type="caaml:NonNegDoubleOrNilReasonType">
						<annotation>
							<documentation>Property element for thickness of layer</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!--***-->
	<complexType name="PointObsInProfileBaseType">
		<complexContent>
			<extension base="caaml:LayerPointObsRootType">
				<sequence>
					<element name="depth" type="caaml:NonNegDoubleOrNilReasonType">
						<annotation>
							<documentation>Property element for depth of observation point</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!--***-->
	<complexType name="LayerPointObsRootType">
		<sequence>
			<element name="metaDataProperty" minOccurs="0">
				<annotation>
					<documentation>Property element for layer metadata</documentation>
				</annotation>
				<complexType>
					<sequence>
						<element name="MetaData" type="caaml:LayerPointObsMetaDataType"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:comment" minOccurs="0"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
		<attribute ref="gml:id" use="optional"/>
	</complexType>
	<!--**********************************************************-->
	<!--***                  EMBEDDED PROFILES                ***-->
	<!--**********************************************************-->
	<complexType name="ProfileMetaDataBaseType">
		<sequence>
			<element ref="caaml:comment" minOccurs="0"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--***-->
	<!--***  EMBEDDED LAYER PROFILES   ***-->
	<element name="stratProfile" type="caaml:StratProfileType">
		<annotation>
			<documentation>Property element for stratigraphic layer profile</documentation>
		</annotation>
	</element>
	<complexType name="StratProfileType" final="#all">
		<sequence>
			<element name="Layer" maxOccurs="unbounded">
				<complexType>
					<complexContent>
						<extension base="caaml:LayerBaseType">
							<sequence>
								<element name="hardness" type="caaml:HardnessType" minOccurs="0">
									<annotation>
										<documentation>Property element for snow hardness</documentation>
									</annotation>
								</element>
								<element name="lwc" type="caaml:LwcType" minOccurs="0">
									<annotation>
										<documentation>Property element for liquid water content (with unit)</documentation>
									</annotation>
								</element>
								<element name="density" type="caaml:MeasureDensityType" minOccurs="0">
									<annotation>
										<documentation>Property element for density (with unit)</documentation>
									</annotation>
								</element>
								<element name="specSurfArea" type="caaml:MeasureSpecSurfAreaType" minOccurs="0">
									<annotation>
										<documentation>Property element for specific surface area (with unit)</documentation>
									</annotation>
								</element>
								<element name="layerStrength" type="caaml:LayerStrengthType" minOccurs="0">
									<annotation>
										<documentation>Complex property element for layer strength</documentation>
									</annotation>
								</element>
								<element name="impurities" type="caaml:ImpuritiesType" minOccurs="0">
									<annotation>
										<documentation>Complex property element for impurity measurements</documentation>
									</annotation>
								</element>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<!--***-->
	<element name="densityProfile" type="caaml:DensityProfileType">
		<annotation>
			<documentation>Property element for density profile independent of stratigraphic profile</documentation>
		</annotation>
	</element>
	<complexType name="DensityProfileType" final="#all">
		<sequence>
			<element name="MetaData" type="caaml:ProfileMetaDataBaseType" minOccurs="0"/>
			<element name="Layer" maxOccurs="unbounded">
				<complexType>
					<complexContent>
						<extension base="caaml:LayerInProfileBaseType">
							<sequence>
								<element name="density" type="caaml:NonNegDoubleOrNilReasonType"/>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
		</sequence>
		<attribute name="uomDepthTop" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomThickness" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomDensity" type="caaml:UomDensityType" use="required" fixed="kgm-3"/>
	</complexType>
	<!--***-->
	<element name="lwcProfile" type="caaml:LwcProfileType">
		<annotation>
			<documentation>Property element for liquid water content profile independent of stratigraphic profile</documentation>
		</annotation>
	</element>
	<complexType name="LwcProfileType" final="#all">
		<sequence>
			<element name="MetaData" type="caaml:ProfileMetaDataBaseType" minOccurs="0"/>
			<element name="Layer" maxOccurs="unbounded">
				<complexType>
					<complexContent>
						<extension base="caaml:LayerInProfileBaseType">
							<sequence>
								<element name="lwc" type="caaml:LwcBaseType"/>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
		</sequence>
		<attribute name="uomDepthTop" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomThickness" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomLwc" type="caaml:UomLwcType" use="required"/>
	</complexType>
	<!--***-->
	<!--***  EMBEDDED POINT PROFILES   ***-->
	<element name="tempProfile" type="caaml:TempProfileType">
		<annotation>
			<documentation>Property element for temperature profile independent of statigraphic profile</documentation>
		</annotation>
	</element>
	<complexType name="TempProfileType" final="#all">
		<sequence>
			<element name="MetaData" type="caaml:ProfileMetaDataBaseType" minOccurs="0"/>
			<element name="Obs" maxOccurs="unbounded">
				<complexType>
					<complexContent>
						<extension base="caaml:PointObsInProfileBaseType">
							<sequence>
								<element name="snowTemp" type="caaml:TempOrNilReasonType"/>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
		</sequence>
		<attribute name="uomDepth" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomTemp" type="caaml:UomTempType" use="required" fixed="degC"/>
	</complexType>
	<!--***-->
	<!--***  EMBEDDED POINT OR LAYER PROFILES   ***-->
	<element name="specSurfAreaProfile" type="caaml:SpecSurfAreaProfileType">
		<annotation>
			<documentation>Property element for specific surface area profile independent of statigraphic profile</documentation>
		</annotation>
	</element>
	<complexType name="SpecSurfAreaProfileType" final="#all">
		<sequence>
			<element name="MetaData" minOccurs="0">
				<complexType>
					<complexContent>
						<extension base="caaml:ProfileMetaDataBaseType">
							<sequence>
								<element name="methodOfMeas" type="string" minOccurs="0">
									<annotation>
										<documentation>Method of measure</documentation>
									</annotation>
								</element>
								<element name="uncertaintyOfMeas" type="caaml:MeasureSpecSurfAreaType" minOccurs="0">
									<annotation>
										<documentation>Uncertainty of individual measurements</documentation>
									</annotation>
								</element>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<choice>
				<sequence>
					<element name="MeasurementComponents">
						<complexType>
							<sequence>
								<element name="depth" type="caaml:NonNegDoubleOrNilReasonType" fixed="template"/>
								<element name="specSurfArea" type="caaml:NonNegDoubleOrNilReasonType" fixed="template"/>
							</sequence>
						</complexType>
					</element>
					<element name="Measurements">
						<complexType>
							<sequence>
								<element name="tupleList" type="gml:CoordinatesType"/>
							</sequence>
						</complexType>
					</element>
				</sequence>
				<element name="Layer" maxOccurs="unbounded">
					<complexType>
						<complexContent>
							<extension base="caaml:LayerInProfileBaseType">
								<sequence>
									<element name="specSurfArea" type="caaml:NonNegDoubleOrNilReasonType"/>
								</sequence>
							</extension>
						</complexContent>
					</complexType>
				</element>
			</choice>
		</sequence>
		<attribute name="uomDepthTop" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomThickness" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomSpecSurfArea" type="caaml:UomSpecSurfAreaType" use="required" fixed="m2kg-1"/>
	</complexType>
	<!--***-->
	<element name="hardnessProfile" type="caaml:HardnessProfileType">
		<annotation>
			<documentation>Property element for hardness profile (penetrometer resistance, ram sonde, push pull gauge) independent of statigraphic profile</documentation>
		</annotation>
	</element>
	<complexType name="HardnessProfileType" final="#all">
		<sequence>
			<element name="MetaData">
				<complexType>
					<complexContent>
						<extension base="caaml:ProfileMetaDataBaseType">
							<sequence>
								<element name="methodOfMeas" type="caaml:HardnessMethodOfMeasEnumType">
									<annotation>
										<documentation>Method of measurements</documentation>
									</annotation>
								</element>
								<element name="surfOfIndentation" type="caaml:MeasureAreaType" minOccurs="0">
									<annotation>
										<documentation>Surface of indentation in m2</documentation>
									</annotation>
								</element>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<choice>
				<sequence>
					<element name="MeasurementComponents">
						<complexType>
							<sequence>
								<element name="depth" type="caaml:NonNegDoubleOrNilReasonType" fixed="template"/>
								<element name="penRes" type="caaml:NonNegDoubleOrNilReasonType" fixed="template"/>
							</sequence>
						</complexType>
					</element>
					<element name="Measurements">
						<complexType>
							<sequence>
								<element name="tupleList" type="gml:CoordinatesType"/>
							</sequence>
						</complexType>
					</element>
				</sequence>
				<element name="Layer" maxOccurs="unbounded">
					<complexType>
						<complexContent>
							<extension base="caaml:LayerInProfileBaseType">
								<sequence>
									<element name="hardness" type="caaml:NonNegDoubleOrNilReasonType"/>
									<element name="weightHammer" type="caaml:NonNegDoubleOrNilReasonType" minOccurs="0"/>
									<element name="weightTube" type="caaml:NonNegDoubleOrNilReasonType" minOccurs="0"/>
									<element name="nDrops" type="caaml:NonNegIntOrNilReasonType" minOccurs="0"/>
									<element name="dropHeight" type="caaml:NonNegDoubleOrNilReasonType" minOccurs="0"/>
								</sequence>
							</extension>
						</complexContent>
					</complexType>
				</element>
			</choice>
		</sequence>
		<attribute name="uomDepthTop" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomThickness" type="caaml:UomLengthType" use="required" fixed="cm"/>
		<attribute name="uomHardness" type="caaml:UomForceType" use="required" fixed="N"/>
		<attribute name="uomWeightHammer" type="caaml:UomWeightType" use="optional" fixed="kg"/>
		<attribute name="uomWeightTube" type="caaml:UomWeightType" use="optional" fixed="kg"/>
		<attribute name="uomDropHeight" type="caaml:UomLengthType" use="optional" fixed="cm"/>
	</complexType>
	<simpleType name="HardnessMethodOfMeasEnumType">
		<restriction base="string">
			<enumeration value="Snow Micro Pen"/>
			<enumeration value="Ram Sonde"/>
			<enumeration value="Push Pull Gauge"/>
			<enumeration value="Other"/>
		</restriction>
	</simpleType>
	<!--**********************************************************-->
	<!--***                  STABILITY TESTS                      ***-->
	<!--**********************************************************-->
	<element name="stbTests" type="caaml:StbTestsType">
		<annotation>
			<documentation>Property element for series of stability test results</documentation>
		</annotation>
	</element>
	<complexType name="StbTestsType" final="#all">
		<sequence>
			<element ref="caaml:AbstractStbTest" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<!--***-->
	<element name="AbstractStbTest" type="caaml:AbstractStbTestType" abstract="true">
		<annotation>
			<documentation>Head of the substitution group for stability tests</documentation>
		</annotation>
	</element>
	<complexType name="AbstractStbTestType" abstract="true">
		<sequence>
			<element ref="caaml:comment" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--***-->
	<element name="RBlockTest" type="caaml:RBlockTestType" substitutionGroup="caaml:AbstractStbTest">
		<annotation>
			<documentation>Element for Rutchblock test</documentation>
		</annotation>
	</element>
	<complexType name="RBlockTestType" final="#all">
		<complexContent>
			<extension base="caaml:AbstractStbTestType">
				<choice>
					<element name="noFailure">
						<annotation>
							<documentation>This tag is to encode the rutschblock test result RB7</documentation>
						</annotation>
					</element>
					<element name="failedOn">
						<complexType>
							<sequence>
								<element name="Layer" type="caaml:LayerBaseType"/>
								<element name="Results">
									<complexType>
										<sequence>
											<element ref="caaml:customData" minOccurs="0"/>
											<element name="fractureCharacter" type="caaml:FractureCharacterType" minOccurs="0"/>
											<element name="releaseType" type="caaml:ReleaseTypeType" minOccurs="0"/>
											<element name="testScore" type="caaml:RBlockTestScoreType">
												<annotation>
													<documentation>Rutschblock test results (RB1 to RB6)</documentation>
												</annotation>
											</element>
										</sequence>
									</complexType>
								</element>
							</sequence>
						</complexType>
					</element>
				</choice>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="RBlockTestScoreType">
		<annotation>
			<documentation>Rutschblock test result encoding according to Canadian Avalanche Association (2007): Observation Guidelines and Recording Standard</documentation>
		</annotation>
		<restriction base="string">
			<pattern value="RB[1-6]"/>
		</restriction>
	</simpleType>
	<!--***-->
	<element name="ComprTest" type="caaml:ComprTestType" substitutionGroup="caaml:AbstractStbTest">
		<annotation>
			<documentation>Element for compression test</documentation>
		</annotation>
	</element>
	<complexType name="ComprTestType" final="#all">
		<complexContent>
			<extension base="caaml:AbstractStbTestType">
				<choice>
					<element name="noFailure">
						<annotation>
							<documentation>Encoding of CTN (No fractiure)</documentation>
						</annotation>
					</element>
					<element name="failedOn">
						<complexType>
							<sequence>
								<element name="Layer" type="caaml:LayerBaseType"/>
								<element name="Results">
									<complexType>
										<sequence>
											<element ref="caaml:customData" minOccurs="0"/>
											<element name="fractureCharacter" type="caaml:FractureCharacterType" minOccurs="0"/>
											<element name="testScore" type="caaml:ComprTestScoreType">
												<annotation>
													<documentation>Compression test score (0 to 30, CTE, CTM, CTH)</documentation>
												</annotation>
											</element>
										</sequence>
									</complexType>
								</element>
							</sequence>
						</complexType>
					</element>
				</choice>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="ComprTestScoreType">
		<annotation>
			<documentation>Compression test result encoding according to Canadian Avalanche Association (2007): Observation Guidelines and Recording Standard</documentation>
		</annotation>
		<union memberTypes="caaml:ComprTestScoreNumType caaml:ComprTestScoreCatType"/>
	</simpleType>
	<simpleType name="ComprTestScoreNumType">
		<annotation>
			<documentation>Numerical compression test scores (1-30)</documentation>
		</annotation>
		<restriction base="int">
			<minInclusive value="1"/>
			<maxInclusive value="30"/>
		</restriction>
	</simpleType>
	<simpleType name="ComprTestScoreCatType">
		<annotation>
			<documentation>Categorical compression test results (CTV, CTE, CTM, CTH)</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="CTV"/>
			<enumeration value="CTE"/>
			<enumeration value="CTM"/>
			<enumeration value="CTH"/>
		</restriction>
	</simpleType>
	<!--***-->
	<element name="ExtColumnTest" type="caaml:ExtColumnTestType" substitutionGroup="caaml:AbstractStbTest">
		<annotation>
			<documentation>Element for extended column test</documentation>
		</annotation>
	</element>
	<complexType name="ExtColumnTestType" final="#all">
		<complexContent>
			<extension base="caaml:AbstractStbTestType">
				<choice>
					<element name="noFailure">
						<annotation>
							<documentation>Test result of ECTX</documentation>
						</annotation>
					</element>
					<element name="failedOn">
						<complexType>
							<sequence>
								<element name="Layer" type="caaml:LayerBaseType"/>
								<element name="Results">
									<complexType>
										<sequence>
											<element ref="caaml:customData" minOccurs="0"/>
											<element name="testScore" type="caaml:ExtColumnTestScoreType">
												<annotation>
													<documentation>Extended column test results encoded according to Simenhois and Birkeland (2009)</documentation>
												</annotation>
											</element>
										</sequence>
									</complexType>
								</element>
							</sequence>
						</complexType>
					</element>
				</choice>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="ExtColumnTestScoreType">
		<annotation>
			<documentation>Extended column test result encoding according to Simenhois R. and Birkeland K.W., 2009. The Extended Column Test: Test effectiveness, spatial variability, and comparison with the Propagation Saw Test. Cold Regions Science and Technology, 59(2-3): 210-216.</documentation>
		</annotation>
		<restriction base="string">
			<pattern value="ECTPV"/>
			<pattern value="ECTP([1-9]|[1-2][0-9]|30)"/>
			<pattern value="ECTN([1-9]|[1-2][0-9]|30)"/>
		</restriction>
	</simpleType>
	<!--***-->
	<element name="ShearFrameTest" type="caaml:ShearFrameTestType" substitutionGroup="caaml:AbstractStbTest">
		<annotation>
			<documentation>Element for shear frame test</documentation>
		</annotation>
	</element>
	<complexType name="ShearFrameTestType" final="#all">
		<complexContent>
			<extension base="caaml:AbstractStbTestType">
				<choice>
					<element name="noFailure"/>
					<element name="failedOn">
						<complexType>
							<sequence>
								<element name="Layer" type="caaml:LayerBaseType"/>
								<element name="Results">
									<complexType>
										<sequence>
											<element ref="caaml:customData" minOccurs="0"/>
											<element name="fractureCharacter" type="caaml:FractureCharacterType" minOccurs="0"/>
											<element name="failureForce" type="caaml:MeasureForceType"/>
										</sequence>
									</complexType>
								</element>
							</sequence>
						</complexType>
					</element>
				</choice>
			</extension>
		</complexContent>
	</complexType>
	<!--***-->
	<element name="PropSawTest" type="caaml:PropSawTestType" substitutionGroup="caaml:AbstractStbTest">
		<annotation>
			<documentation>Element for propagation saw test</documentation>
		</annotation>
	</element>
	<complexType name="PropSawTestType" final="#all">
		<complexContent>
			<extension base="caaml:AbstractStbTestType">
				<sequence>
					<element name="failedOn">
						<complexType>
							<sequence>
								<element name="Layer" type="caaml:LayerBaseType"/>
								<element name="Results">
									<complexType>
										<sequence>
											<element ref="caaml:customData" minOccurs="0"/>
											<element name="fracturePropagation">
												<annotation>
													<documentation>Property element for fracture propagation: Arr (=Arrest), SF (=Slab Fracture) and End (=End of Column)</documentation>
												</annotation>
												<simpleType>
													<restriction base="string">
														<enumeration value="End"/>
														<enumeration value="SF"/>
														<enumeration value="Arr"/>
													</restriction>
												</simpleType>
											</element>
											<element name="cutLength" type="caaml:MeasureLengthCmType">
												<annotation>
													<documentation>Property element for cut length</documentation>
												</annotation>
											</element>
											<element name="columnLength" type="caaml:MeasureLengthCmType">
												<annotation>
													<documentation>Property element for column length</documentation>
												</annotation>
											</element>
										</sequence>
									</complexType>
								</element>
							</sequence>
						</complexType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!--***-->
	<!--**********************************************************-->
	<!--***           LOCATION INFORMATION                 ***-->
	<!--**********************************************************-->
	<element name="locRef" type="caaml:LocRefType"/>
	<complexType name="LocRefType">
		<choice>
			<element ref="caaml:ObsPoint"/>
		</choice>
	</complexType>
	<!--***-->
	<element name="ObsPoint" type="caaml:ObsPointType"/>
	<complexType name="ObsPointType" final="#all">
		<sequence>
			<element name="metaDataProperty" minOccurs="0">
				<annotation>
					<documentation>Property element for location meta data</documentation>
				</annotation>
				<complexType>
					<sequence>
						<element name="MetaData" type="caaml:LocMetaDataType"/>
					</sequence>
				</complexType>
			</element>
			<element name="description" type="string" minOccurs="0">
				<annotation>
					<documentation>Property element for description of location</documentation>
				</annotation>
			</element>
			<element name="name" type="string">
				<annotation>
					<documentation>Property element for name of location</documentation>
				</annotation>
			</element>
			<element name="obsPointSubType" type="string">
				<annotation>
					<documentation>Required property element for specifying sub type of observation point (e.g., weather site, snow profile location, accident location)</documentation>
				</annotation>
			</element>
			<element ref="caaml:validElevation" minOccurs="0"/>
			<element ref="caaml:validAspect" minOccurs="0"/>
			<element ref="caaml:validSlopeAngle" minOccurs="0"/>
			<element name="pointLocation" minOccurs="0">
				<annotation>
					<documentation>Property element for coordinates of point location</documentation>
				</annotation>
				<complexType>
					<sequence>
						<element ref="gml:Point"/>
					</sequence>
				</complexType>
			</element>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--***-->
	<complexType name="LocMetaDataType">
		<sequence>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--***-->
	<element name="validAspect" type="caaml:ValidAspectType">
		<annotation>
			<documentation>Property element for aspect of location (compass direction towards which the slope faces)</documentation>
		</annotation>
	</element>
	<complexType name="ValidAspectType" final="#all">
		<choice>
			<element name="AspectPosition">
				<complexType>
					<sequence>
						<element name="position" type="caaml:AspectBaseType"/>
					</sequence>
					<attribute ref="gml:id" use="optional"/>
				</complexType>
			</element>
		</choice>
	</complexType>
	<simpleType name="AspectBaseType">
		<union memberTypes="gml:NilReasonEnumeration caaml:AspectBaseCardinalType caaml:AspectBaseNumType"/>
	</simpleType>
	<simpleType name="AspectBaseCardinalType">
		<restriction base="string">
			<enumeration value="N"/>
			<enumeration value="NE"/>
			<enumeration value="E"/>
			<enumeration value="SE"/>
			<enumeration value="S"/>
			<enumeration value="SW"/>
			<enumeration value="W"/>
			<enumeration value="NW"/>
			<enumeration value="n/a"/>
		</restriction>
	</simpleType>
	<simpleType name="AspectBaseNumType">
		<restriction base="integer">
			<minInclusive value="0"/>
			<maxInclusive value="360"/>
		</restriction>
	</simpleType>
	<!--***-->
	<element name="validElevation" type="caaml:ValidElevationType">
		<annotation>
			<documentation>Property element for elevation of location</documentation>
		</annotation>
	</element>
	<complexType name="ValidElevationType" final="#all">
		<choice>
			<element name="ElevationPosition">
				<complexType>
					<sequence>
						<element name="position" type="caaml:ElevationBaseType"/>
					</sequence>
					<attribute ref="gml:id" use="optional"/>
					<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="m"/>
				</complexType>
			</element>
		</choice>
	</complexType>
	<simpleType name="ElevationBaseType">
		<restriction base="integer">
			<minInclusive value="-500"/>
			<maxInclusive value="9000"/>
		</restriction>
	</simpleType>
	<!--***-->
	<element name="validSlopeAngle" type="caaml:ValidSlopeAngleType">
		<annotation>
			<documentation>Property element for slope angle at location</documentation>
		</annotation>
	</element>
	<complexType name="ValidSlopeAngleType" final="#all">
		<choice>
			<element name="SlopeAnglePosition">
				<complexType>
					<sequence>
						<element name="position" type="caaml:SlopeAngleBaseType"/>
					</sequence>
					<attribute name="uom" type="caaml:UomInclineType" use="required" fixed="deg"/>
				</complexType>
			</element>
		</choice>
	</complexType>
	<simpleType name="SlopeAngleBaseType">
		<restriction base="integer">
			<minInclusive value="0"/>
			<maxInclusive value="90"/>
		</restriction>
	</simpleType>
	<!--***-->
	<!--**********************************************************-->
	<!--***                     TIME ELEMENTS                      ***-->
	<!--**********************************************************-->
	<element name="validTime" type="caaml:ValidTimeType"/>
	<!--***-->
	<complexType name="ValidTimeType" final="#all">
		<choice>
			<element ref="caaml:TimeInstant"/>
			<element ref="caaml:TimePeriod"/>
		</choice>
	</complexType>
	<!--***-->
	<element name="TimeInstant" type="caaml:TimeInstantType"/>
	<complexType name="TimeInstantType">
		<sequence>
			<element name="timePosition" type="gml:TimePositionType"/>
		</sequence>
		<attribute ref="gml:id" use="optional"/>
	</complexType>
	<!--***-->
	<element name="TimePeriod" type="caaml:TimePeriodType"/>
	<complexType name="TimePeriodType">
		<sequence>
			<element name="beginPosition" type="gml:TimePositionType"/>
			<element name="endPosition" type="gml:TimePositionType"/>
		</sequence>
		<attribute ref="gml:id" use="optional"/>
	</complexType>
	<!--**********************************************************-->
	<!--***   DEFINTIION OF PROPERTY ELEMENTS     ***-->
	<!--**********************************************************-->
	<simpleType name="FractureCharacterType" final="#all">
		<union memberTypes="gml:NilReasonEnumeration caaml:FractureCharacterBaseCndType caaml:FractureCharacterBaseSwissType caaml:FractureCharacterBaseUsaType"/>
	</simpleType>
	<simpleType name="FractureCharacterBaseCndType">
		<restriction base="string">
			<enumeration value="SDN"/>
			<enumeration value="SP"/>
			<enumeration value="SC"/>
			<enumeration value="RES"/>
			<enumeration value="PC"/>
			<enumeration value="RP"/>
			<enumeration value="BRK"/>
		</restriction>
	</simpleType>
	<simpleType name="FractureCharacterBaseSwissType">
		<restriction base="string">
			<enumeration value="Clean"/>
			<enumeration value="Rough"/>
			<enumeration value="Irregular"/>
		</restriction>
	</simpleType>
	<simpleType name="FractureCharacterBaseUsaType">
		<restriction base="string">
			<enumeration value="Q1"/>
			<enumeration value="Q2"/>
			<enumeration value="Q3"/>
		</restriction>
	</simpleType>
	<!--***-->
	<simpleType name="ReleaseTypeType" final="#all">
		<union memberTypes="gml:NilReasonEnumeration caaml:ReleaseTypeBaseType"/>
	</simpleType>
	<simpleType name="ReleaseTypeBaseType">
		<restriction base="string">
			<enumeration value="WB"/>
			<enumeration value="MB"/>
			<enumeration value="EB"/>
		</restriction>
	</simpleType>
	<!--***-->
	<complexType name="HardnessType" final="#all">
		<simpleContent>
			<extension base="caaml:HardnessBaseType">
				<attribute name="uom" type="caaml:UomForceType" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="HardnessBaseType">
		<union memberTypes="caaml:HardnessBaseEnumType caaml:NonNegDoubleOrNilReasonType"/>
	</simpleType>
	<simpleType name="HardnessBaseEnumType">
		<restriction base="string">
			<enumeration value="F-"/>
			<enumeration value="F"/>
			<enumeration value="F+"/>
			<enumeration value="F-4F"/>
			<enumeration value="4F-"/>
			<enumeration value="4F"/>
			<enumeration value="4F+"/>
			<enumeration value="4F-1F"/>
			<enumeration value="1F-"/>
			<enumeration value="1F"/>
			<enumeration value="1F+"/>
			<enumeration value="1F-P"/>
			<enumeration value="P-"/>
			<enumeration value="P"/>
			<enumeration value="P+"/>
			<enumeration value="P-K"/>
			<enumeration value="K-"/>
			<enumeration value="K"/>
			<enumeration value="K+"/>
			<enumeration value="K-I"/>
			<enumeration value="I"/>
		</restriction>
	</simpleType>
	<!--***-->
	<simpleType name="PrecipTIType" final="#all">
		<union memberTypes="gml:NilReasonEnumeration caaml:PrecipTIMetarBaseType"/>
	</simpleType>
	<simpleType name="PrecipTIMetarBaseType">
		<restriction base="string">
			<enumeration value="-DZ"/>
			<enumeration value="DZ"/>
			<enumeration value="+DZ"/>
			<enumeration value="-RA"/>
			<enumeration value="RA"/>
			<enumeration value="+RA"/>
			<enumeration value="-SN"/>
			<enumeration value="SN"/>
			<enumeration value="+SN"/>
			<enumeration value="-SG"/>
			<enumeration value="SG"/>
			<enumeration value="+SG"/>
			<enumeration value="-IC"/>
			<enumeration value="IC"/>
			<enumeration value="+IC"/>
			<enumeration value="-PE"/>
			<enumeration value="PE"/>
			<enumeration value="+PE"/>
			<enumeration value="-GR"/>
			<enumeration value="GR"/>
			<enumeration value="+GR"/>
			<enumeration value="-GS"/>
			<enumeration value="GS"/>
			<enumeration value="+GS"/>
			<enumeration value="UP"/>
			<enumeration value="Nil"/>
			<enumeration value="RASN"/>
			<enumeration value="FZRA"/>
		</restriction>
	</simpleType>
	<!--***-->
	<simpleType name="SkyCondType" final="#all">
		<union memberTypes="gml:NilReasonEnumeration caaml:SkyCondBaseType"/>
	</simpleType>
	<simpleType name="SkyCondBaseType">
		<restriction base="string">
			<enumeration value="CLR"/>
			<enumeration value="FEW"/>
			<enumeration value="SCT"/>
			<enumeration value="BKN"/>
			<enumeration value="OVC"/>
			<enumeration value="X"/>
		</restriction>
	</simpleType>
	<!--***-->
	<complexType name="WindSpdType" final="#all">
		<simpleContent>
			<extension base="caaml:WindSpdBaseType">
				<attribute name="uom" type="caaml:UomWindSpdType" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="WindSpdBaseType">
		<union memberTypes="caaml:WindSpdBaseEnumType caaml:NonNegDoubleOrNilReasonType"/>
	</simpleType>
	<simpleType name="WindSpdBaseEnumType">
		<restriction base="string">
			<enumeration value="C"/>
			<enumeration value="L"/>
			<enumeration value="M"/>
			<enumeration value="S"/>
			<enumeration value="X"/>
		</restriction>
	</simpleType>
	<!--***-->
	<complexType name="LwcType" final="#all">
		<simpleContent>
			<extension base="caaml:LwcBaseType">
				<attribute name="uom" type="caaml:UomLwcType" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="LwcBaseType">
		<union memberTypes="gml:NilReasonEnumeration caaml:LwcBaseEnumType caaml:PercentIntType"/>
	</simpleType>
	<simpleType name="LwcBaseEnumType">
		<restriction base="string">
			<enumeration value="D"/>
			<enumeration value="D-M"/>
			<enumeration value="M"/>
			<enumeration value="M-W"/>
			<enumeration value="W"/>
			<enumeration value="W-V"/>
			<enumeration value="V"/>
			<enumeration value="V-S"/>
			<enumeration value="S"/>
		</restriction>
	</simpleType>
	<!--***-->
	<complexType name="SurfFeatureType" final="#all">
		<sequence>
			<element name="Components">
				<complexType>
					<sequence>
						<element name="surfRoughness" type="caaml:SurfRoughnessType"/>
						<element name="validAmplitude" minOccurs="0">
							<annotation>
								<documentation>Property element for vertical extent of surface feature (amplitude)</documentation>
							</annotation>
							<complexType>
								<choice>
									<element name="AmplitudePosition">
										<complexType>
											<sequence>
												<element name="position" type="caaml:NonNegDoubleOrNilReasonType"/>
											</sequence>
											<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="cm"/>
										</complexType>
									</element>
									<element name="AmplitudeRange">
										<complexType>
											<sequence>
												<element name="beginPosition" type="caaml:NonNegDoubleOrNilReasonType"/>
												<element name="endPosition" type="caaml:NonNegDoubleOrNilReasonType"/>
											</sequence>
											<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="cm"/>
										</complexType>
									</element>
								</choice>
							</complexType>
						</element>
						<element name="validWavelength" minOccurs="0">
							<annotation>
								<documentation>Property element for wavelength of surface feature</documentation>
							</annotation>
							<complexType>
								<choice>
									<element name="WavelengthPosition">
										<complexType>
											<sequence>
												<element name="position" type="caaml:NonNegDoubleOrNilReasonType"/>
											</sequence>
											<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="m"/>
										</complexType>
									</element>
									<element name="WavelengthRange">
										<complexType>
											<sequence>
												<element name="beginPosition" type="caaml:NonNegDoubleOrNilReasonType"/>
												<element name="endPosition" type="caaml:NonNegDoubleOrNilReasonType"/>
											</sequence>
											<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="m"/>
										</complexType>
									</element>
								</choice>
							</complexType>
						</element>
						<element ref="caaml:validAspect" minOccurs="0"/>
					</sequence>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<simpleType name="SurfRoughnessType">
		<union memberTypes="gml:NilReasonEnumeration caaml:SurfRoughnessBaseEnumType"/>
	</simpleType>
	<simpleType name="SurfRoughnessBaseEnumType">
		<restriction base="string">
			<enumeration value="rsm"/>
			<enumeration value="rwa"/>
			<enumeration value="rcv"/>
			<enumeration value="rcx"/>
			<enumeration value="rrd"/>
		</restriction>
	</simpleType>
	<!--***-->
	<group name="grainGroup">
		<annotation>
			<documentation>Convenience group for grain elements</documentation>
		</annotation>
		<sequence>
			<element name="grainFormPrimary" type="caaml:GrainFormType" minOccurs="0">
				<annotation>
					<documentation>Property element for the description of primary grain forms</documentation>
				</annotation>
			</element>
			<element name="grainFormSecondary" type="caaml:GrainFormType" minOccurs="0">
				<annotation>
					<documentation>Property element for the description of secondary grain forms</documentation>
				</annotation>
			</element>
			<element name="grainSize" type="caaml:GrainSizeType" minOccurs="0">
				<annotation>
					<documentation>Property element for the description of grain size in mm</documentation>
				</annotation>
			</element>
		</sequence>
	</group>
	<simpleType name="GrainFormType" final="#all">
		<union memberTypes="gml:NilReasonEnumeration caaml:GrainFormBaseType"/>
	</simpleType>
	<simpleType name="GrainFormBaseType">
		<annotation>
			<documentation>Enumerations extracted from CAAML encoded IACS 2009 standard document</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="PP"/>
			<enumeration value="PPco"/>
			<enumeration value="PPnd"/>
			<enumeration value="PPpl"/>
			<enumeration value="PPsd"/>
			<enumeration value="PPir"/>
			<enumeration value="PPgp"/>
			<enumeration value="PPhl"/>
			<enumeration value="PPip"/>
			<enumeration value="PPrm"/>
			<enumeration value="MM"/>
			<enumeration value="MMrp"/>
			<enumeration value="MMci"/>
			<enumeration value="DF"/>
			<enumeration value="DFdc"/>
			<enumeration value="DFbk"/>
			<enumeration value="RG"/>
			<enumeration value="RGsr"/>
			<enumeration value="RGlr"/>
			<enumeration value="RGwp"/>
			<enumeration value="RGxf"/>
			<enumeration value="FC"/>
			<enumeration value="FCso"/>
			<enumeration value="FCsf"/>
			<enumeration value="FCxr"/>
			<enumeration value="DH"/>
			<enumeration value="DHcp"/>
			<enumeration value="DHpr"/>
			<enumeration value="DHch"/>
			<enumeration value="DHla"/>
			<enumeration value="DHxr"/>
			<enumeration value="SH"/>
			<enumeration value="SHsu"/>
			<enumeration value="SHcv"/>
			<enumeration value="SHxr"/>
			<enumeration value="MF"/>
			<enumeration value="MFcl"/>
			<enumeration value="MFpc"/>
			<enumeration value="MFsl"/>
			<enumeration value="MFcr"/>
			<enumeration value="IF"/>
			<enumeration value="IFil"/>
			<enumeration value="IFic"/>
			<enumeration value="IFbi"/>
			<enumeration value="IFrc"/>
			<enumeration value="IFsc"/>
		</restriction>
	</simpleType>
	<complexType name="GrainSizeType" final="#all">
		<sequence>
			<element name="Components">
				<complexType>
					<sequence>
						<element name="avg" type="caaml:GrainSizeBaseType"/>
						<element name="avgMax" type="caaml:GrainSizeBaseType" minOccurs="0"/>
					</sequence>
				</complexType>
			</element>
		</sequence>
		<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="mm"/>
	</complexType>
	<simpleType name="GrainSizeBaseType">
		<union memberTypes="caaml:GrainSizeBaseEnumType caaml:NonNegDoubleOrNilReasonType"/>
	</simpleType>
	<simpleType name="GrainSizeBaseEnumType">
		<restriction base="string">
			<enumeration value="very fine"/>
			<enumeration value="fine"/>
			<enumeration value="medium"/>
			<enumeration value="coarse"/>
			<enumeration value="very coarse"/>
			<enumeration value="extreme"/>
		</restriction>
	</simpleType>
	<!--***-->
	<complexType name="ImpuritiesType" final="#all">
		<sequence>
			<element name="Impurity" maxOccurs="unbounded">
				<complexType>
					<sequence>
						<element name="description" type="string">
							<annotation>
								<documentation>Property elemend for description of impurities</documentation>
							</annotation>
						</element>
						<element name="massFraction" type="caaml:NonNegMeasureType">
							<annotation>
								<documentation>Property element for numercal value of mass fraction of impurity (% or ppm)</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<!--***-->
	<complexType name="LayerStrengthType" final="#all">
		<sequence>
			<element name="PropertyMetadata" minOccurs="0">
				<complexType>
					<sequence>
						<element name="strengthType">
							<simpleType>
								<restriction base="string">
									<enumeration value="compressive"/>
									<enumeration value="tensile"/>
									<enumeration value="shear"/>
								</restriction>
							</simpleType>
						</element>
						<element name="methodOfMeas" type="string"/>
						<element name="uncertaintyOfMeas" type="caaml:NonNegDoubleOrNilReasonType" minOccurs="0"/>
					</sequence>
				</complexType>
			</element>
			<element name="Components">
				<complexType>
					<sequence>
						<element name="fractureCharacter" type="caaml:FractureCharacterType" minOccurs="0"/>
						<element name="strengthValue" type="caaml:MeasurePressureType"/>
					</sequence>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<!--***-->
	<complexType name="TempType" final="#all">
		<simpleContent>
			<extension base="caaml:TempOrNilReasonType">
				<attribute name="uom" type="caaml:UomTempType" use="required" fixed="degC"/>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="TempOrNilReasonType">
		<union memberTypes="gml:NilReasonEnumeration caaml:TempBaseType anyURI"/>
	</simpleType>
	<simpleType name="TempBaseType">
		<restriction base="double">
			<minInclusive value="-110.0"/>
			<maxInclusive value="60.0"/>
		</restriction>
	</simpleType>
	<!--***-->
	<complexType name="SnowHeightPointIrregularType" final="#all">
		<complexContent>
			<extension base="caaml:SnowHeightPointRegularType">
				<attribute name="dateTimeCleared" type="gml:TimePositionUnion" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="SnowHeightPointRegularType">
		<sequence>
			<element name="Components">
				<complexType>
					<sequence>
						<element name="snowHeight" type="caaml:MeasureLengthCmType" minOccurs="0">
							<annotation>
								<documentation>Height of snow</documentation>
							</annotation>
						</element>
						<element name="swe" type="caaml:MeasureLengthMmType" minOccurs="0">
							<annotation>
								<documentation>Snow water equivalent</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<!--***-->
	<simpleType name="DirectionType" final="#all">
		<restriction base="string">
			<enumeration value="top down"/>
			<enumeration value="bottom up"/>
		</restriction>
	</simpleType>
	<!--***-->
	<element name="comment" type="string">
		<annotation>
			<documentation>Property element for general comment</documentation>
		</annotation>
	</element>
	<!--***-->
	<element name="customData" type="caaml:CustomDataType">
		<annotation>
			<documentation>Property element for custom data</documentation>
		</annotation>
	</element>
	<complexType name="CustomDataType" final="#all">
		<sequence>
			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<!--**********************************************************-->
	<!--***     MEASUREMENT TYPE DEFINITIONS        ***-->
	<!--**********************************************************-->
	<complexType name="NonNegMeasureType">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="gml:UomIdentifier" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="NonNegDoubleOrNilReasonType">
		<union memberTypes="gml:NilReasonEnumeration">
			<simpleType>
				<restriction base="double">
					<minInclusive value="0.0"/>
				</restriction>
			</simpleType>
		</union>
	</simpleType>
	<simpleType name="DoubleOrNilReasonType">
		<union memberTypes="gml:NilReasonEnumeration double"/>
	</simpleType>
	<simpleType name="NonNegIntOrNilReasonType">
		<union memberTypes="gml:NilReasonEnumeration">
			<simpleType>
				<restriction base="integer">
					<minInclusive value="0"/>
				</restriction>
			</simpleType>
		</union>
	</simpleType>
	<simpleType name="PercentIntType">
		<restriction base="integer">
			<minInclusive value="0"/>
			<maxInclusive value="100"/>
		</restriction>
	</simpleType>
	<!--***-->
	<complexType name="MeasureAreaType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomAreaType" use="required" fixed="m2"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasureDensityType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomDensityType" use="required" fixed="kgm-3"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasureForceType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomForceType" use="required" fixed="N"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasureLengthCmType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="cm"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasureLengthMmType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="mm"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasurePressureType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomPressureType" use="required" fixed="Nm-2"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasureSpecSurfAreaType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomSpecSurfAreaType" use="required" fixed="m2kg-1"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasureUnitType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomUnitType" use="required" fixed="1"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="MeasureWeightType" final="#all">
		<simpleContent>
			<extension base="caaml:NonNegDoubleOrNilReasonType">
				<attribute name="uom" type="caaml:UomWeightType" use="required" fixed="kg"/>
			</extension>
		</simpleContent>
	</complexType>
	<!--***-->
	<simpleType name="UomUnitType" final="#all">
		<restriction base="string">
			<enumeration value="1"/>
		</restriction>
	</simpleType>
	<simpleType name="UomAreaType" final="#all">
		<restriction base="string">
			<enumeration value="m2"/>
		</restriction>
	</simpleType>
	<simpleType name="UomDensityType" final="#all">
		<restriction base="string">
			<enumeration value="kgm-3"/>
		</restriction>
	</simpleType>
	<simpleType name="UomForceType" final="#all">
		<restriction base="string">
			<enumeration value="N"/>
			<enumeration value=""/>
		</restriction>
	</simpleType>
	<simpleType name="UomInclineType" final="#all">
		<restriction base="string">
			<enumeration value="deg"/>
		</restriction>
	</simpleType>
	<simpleType name="UomLengthType" final="#all">
		<restriction base="string">
			<enumeration value="cm"/>
			<enumeration value="mm"/>
			<enumeration value="m"/>
			<enumeration value="in"/>
			<enumeration value="ft"/>
		</restriction>
	</simpleType>
	<simpleType name="UomLwcType" final="#all">
		<restriction base="string">
			<enumeration value="% per Vol"/>
			<enumeration value=""/>
		</restriction>
	</simpleType>
	<simpleType name="UomPressureType" final="#all">
		<restriction base="string">
			<enumeration value="Nm-2"/>
			<enumeration value="Pa"/>
		</restriction>
	</simpleType>
	<simpleType name="UomSpecSurfAreaType" final="#all">
		<restriction base="string">
			<enumeration value="m2kg-1"/>
		</restriction>
	</simpleType>
	<simpleType name="UomTempType" final="#all">
		<restriction base="string">
			<enumeration value="degC"/>
		</restriction>
	</simpleType>
	<simpleType name="UomWeightType" final="#all">
		<restriction base="string">
			<enumeration value="kg"/>
		</restriction>
	</simpleType>
	<simpleType name="UomWindSpdType" final="#all">
		<restriction base="string">
			<enumeration value="ms-1"/>
			<enumeration value=""/>
		</restriction>
	</simpleType>
	<!--**********************************************************-->
</schema>
