<?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/BulletinUS" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:display="http://caaml.org/Schemas/V5.0/Profiles/BulletinUS/Display" targetNamespace="http://caaml.org/Schemas/V5.0/Profiles/BulletinUS" elementFormDefault="qualified" attributeFormDefault="unqualified" version="5.0.Dev">
	<import namespace="http://www.opengis.net/gml" schemaLocation="CAAMLv5_BulletinUS_GML.xsd"/>
	<import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlinks.xsd"/>
	<!--***************************************-->
	<!--***        ROOT ELEMENT         ***-->
	<!--***************************************-->
	<element name="CaamlData" type="caaml:CaamlDataType"/>
	<complexType name="CaamlDataType">
		<sequence>
			<element name="metaDataProperty">
				<complexType>
					<sequence>
						<element name="MetaData" type="caaml:MetaDataType"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:aspects" minOccurs="0"/>
			<element ref="caaml:elevations" minOccurs="0"/>
			<element ref="caaml:aspectElevations" minOccurs="0"/>
			<element ref="caaml:locations" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--************************************************-->
	<!--***        META DATA ELEMENTS         ***-->
	<!--************************************************-->
	<complexType name="MetaDataType">
		<sequence>
			<element name="dateTimeReport" type="gml:TimePositionType"/>
			<element name="srcRef" type="caaml:SourceRefType"/>
			<element name="srcURL" type="anyURI">
				<annotation>
					<documentation>Property element for source URL</documentation>
				</annotation>
			</element>
			<element ref="caaml:comment" minOccurs="0"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
	</complexType>
	<!--***-->
	<!--****************************************************-->
	<!--***        MAIN BULLETIN ELEMENTS         ***-->
	<!--****************************************************-->
	<element name="Bulletin" type="caaml:BulletinType"/>
	<complexType name="BulletinType" final="#all">
		<sequence>
			<element name="metaDataProperty">
				<complexType>
					<sequence>
						<element name="MetaData" type="caaml:MetaDataType"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:validTime"/>
			<element name="bulletinResultsOf">
				<complexType>
					<sequence>
						<element ref="caaml:BulletinMeasurements"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:locRef"/>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--***-->
	<element name="BulletinMeasurements" type="caaml:BulletinMeasurementsType"/>
	<complexType name="BulletinMeasurementsType" final="#all">
		<sequence>
			<element ref="caaml:customData" minOccurs="0"/>
			<element ref="caaml:comment" minOccurs="0"/>
			<element name="highlights" type="string" minOccurs="0">
				<annotation>
					<documentation>Property element for general highlight</documentation>
				</annotation>
			</element>
			<element name="bulletinType" type="string">
				<annotation>
					<documentation>Property element for bulletintype</documentation>
				</annotation>
			</element>
			<element name="dangerRatings" type="caaml:DangerRatingsType" minOccurs="0">
				<annotation>
					<documentation>Complex property element type for danger ratings</documentation>
				</annotation>
			</element>
			<element name="avProblems" minOccurs="0">
				<annotation>
					<documentation>Complex property element type for danger ratings</documentation>
				</annotation>
				<complexType>
					<sequence maxOccurs="unbounded">
						<element name="AvProblem" type="caaml:AvProblemType"/>
					</sequence>
				</complexType>
			</element>
			<element name="avSnowComment" type="string" minOccurs="0">
				<annotation>
					<documentation>Property element for avalanche and snow discussion</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<!--***-->
	<complexType name="AvProblemType">
		<sequence>
			<element name="type" type="caaml:AvProblemTypeType"/>
			<element ref="caaml:validAspectElevation" maxOccurs="24"/>
			<element name="expectedAvSize">
				<complexType>
					<sequence>
						<element name="Values">
							<complexType>
								<sequence>
									<element name="typical" type="caaml:ExpectedAvSizeValueType"/>
								</sequence>
							</complexType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="likelihoodOfTriggering">
				<complexType>
					<sequence>
						<element name="Values">
							<complexType>
								<sequence>
									<element name="typical" type="caaml:LikelihoodOfTriggeringValueType"/>
								</sequence>
							</complexType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="trend" type="string"/>
			<element name="dangerRatings" type="caaml:DangerRatingsType" minOccurs="0"/>
			<element ref="caaml:comment" minOccurs="0"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="AvProblemTypeType">
		<restriction base="string">
			<enumeration value="Loose Dry"/>
			<enumeration value="Loose Wet"/>
			<enumeration value="Wind Slabs"/>
			<enumeration value="Storm Slabs"/>
			<enumeration value="Wet Slabs"/>
			<enumeration value="Persistent Slabs"/>
			<enumeration value="Deep Persistent Slabs"/>
			<enumeration value="Cornice"/>
		</restriction>
	</simpleType>
	<!--***-->
	<!--****************************************************-->
	<!--***        MAIN BULLETIN ELEMENTS         ***-->
	<!--****************************************************-->
	<element name="WxForecast" type="caaml:WxForecastType"/>
	<complexType name="WxForecastType" final="#all">
		<sequence>
			<element name="metaDataProperty">
				<complexType>
					<sequence>
						<element name="MetaData" type="caaml:MetaDataType"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:validTime"/>
			<element name="wxForecastResultsOf">
				<complexType>
					<sequence>
						<element ref="caaml:WxForecastMeasurements"/>
					</sequence>
				</complexType>
			</element>
			<element ref="caaml:locRef"/>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--***-->
	<element name="WxForecastMeasurements" type="caaml:WxForecastMeasurementsType"/>
	<complexType name="WxForecastMeasurementsType" final="#all">
		<sequence>
			<element ref="caaml:customData" minOccurs="0"/>
			<element ref="caaml:comment" minOccurs="0"/>
			<element name="periods">
				<complexType>
					<sequence maxOccurs="unbounded">
						<element name="Period" type="caaml:WxForecastPeriodType"/>
					</sequence>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<!--***-->
	<complexType name="WxForecastPeriodType">
		<sequence>
			<element ref="caaml:customData" minOccurs="0"/>
			<element ref="caaml:comment" minOccurs="0"/>
			<element ref="caaml:validTime"/>
			<element name="airTemp" type="caaml:AirTempComplexType" minOccurs="0">
				<annotation>
					<documentation>Property element for predicted air temperature</documentation>
				</annotation>
			</element>
			<element name="windSpd" type="caaml:WindSpdComplexType" minOccurs="0">
				<annotation>
					<documentation>Property element for predicted wind speed range</documentation>
				</annotation>
			</element>
			<element name="windDir" type="caaml:WindDirComplexType" minOccurs="0">
				<annotation>
					<documentation>Property element for predicted wind direction</documentation>
				</annotation>
			</element>
			<element name="skyCond" type="caaml:SkyCondComplexType" minOccurs="0">
				<annotation>
					<documentation>Property element for predicted sky conditions</documentation>
				</annotation>
			</element>
			<element name="hN" type="caaml:HNComplexType" minOccurs="0">
				<annotation>
					<documentation>Property element for predicted amount of new snow in forecast period</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<!--**********************************************************-->
	<!--***        SOURCE REFERENCE ELEMENTS         ***-->
	<!--**********************************************************-->
	<complexType name="SourceRefType">
		<choice>
			<element ref="caaml:Operation"/>
		</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>
	<!--***-->
	<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>
	<!--***-->
	<!--**********************************************************-->
	<!--***           LOCATION INFORMATION                 ***-->
	<!--**********************************************************-->
	<element name="locRef" type="caaml:LocRefType">
		<annotation>
			<documentation>Property element for location reference</documentation>
		</annotation>
	</element>
	<complexType name="LocRefType">
		<attribute ref="xlink:href" use="required"/>
	</complexType>
	<!--***-->
	<element name="locations">
		<complexType>
			<sequence maxOccurs="unbounded">
				<element name="Region" type="caaml:RegionType"/>
			</sequence>
		</complexType>
	</element>
	<!--***-->
	<element name="Region" type="caaml:RegionType"/>
	<complexType name="RegionType" final="#all">
		<sequence>
			<element name="name" type="string">
				<annotation>
					<documentation>Property element for name of location</documentation>
				</annotation>
			</element>
			<element name="regionSubType" type="string" fixed="Forecast Region">
				<annotation>
					<documentation>Required property element for specifying sub type of region (forecast area, drainage,..)</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--***-->
	<element name="validAspect" type="caaml:ValidAspectType">
		<annotation>
			<documentation>Property element for aspect of location</documentation>
		</annotation>
	</element>
	<complexType name="ValidAspectType" final="#all">
		<attribute ref="xlink:href" use="required"/>
	</complexType>
	<!--***-->
	<element name="aspects">
		<complexType>
			<sequence minOccurs="8" maxOccurs="8">
				<choice>
					<element name="AspectRange" type="caaml:AspectRangeType"/>
				</choice>
			</sequence>
		</complexType>
	</element>
	<!--***-->
	<complexType name="AspectRangeType">
		<sequence>
			<element name="beginPosition" type="caaml:AspectBaseType"/>
			<element name="endPosition" type="caaml:AspectBaseType"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</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="double"/>
	</simpleType>
	<!--***-->
	<element name="validElevation" type="caaml:ValidElevationType">
		<annotation>
			<documentation>Property element for elevation of location</documentation>
		</annotation>
	</element>
	<complexType name="ValidElevationType" final="#all">
		<attribute ref="xlink:href" use="required"/>
	</complexType>
	<!--***-->
	<element name="elevations">
		<complexType>
			<sequence minOccurs="3" maxOccurs="3">
				<choice>
					<element name="ElevationLabel" type="caaml:ElevationLabelType"/>
				</choice>
			</sequence>
		</complexType>
	</element>
	<!--***-->
	<complexType name="ElevationLabelType">
		<sequence>
			<element name="description">
				<simpleType>
					<restriction base="string">
						<enumeration value="Alpine"/>
						<enumeration value="Treeline"/>
						<enumeration value="Below Treeline"/>
					</restriction>
				</simpleType>
			</element>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--***-->
	<element name="validAspectElevation" type="caaml:ValidAspectElevationType">
		<annotation>
			<documentation>Property element for aspect-elevation of location</documentation>
		</annotation>
	</element>
	<complexType name="ValidAspectElevationType" final="#all">
		<attribute ref="xlink:href" use="required"/>
	</complexType>
	<!--***-->
	<element name="aspectElevations">
		<complexType>
			<sequence minOccurs="24" maxOccurs="24">
				<choice>
					<element name="AspectElevation" type="caaml:aspectElevationType"/>
				</choice>
			</sequence>
		</complexType>
	</element>
	<complexType name="aspectElevationType">
		<sequence>
			<element ref="caaml:validAspect"/>
			<element ref="caaml:validElevation"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
		<attribute ref="gml:id" use="required"/>
	</complexType>
	<!--**********************************************************-->
	<!--***                     TIME ELEMENTS                      ***-->
	<!--**********************************************************-->
	<element name="validTime" type="caaml:ValidTimeType">
		<annotation>
			<documentation>Property element for time reference</documentation>
		</annotation>
	</element>
	<!--***-->
	<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     ***-->
	<!--**********************************************************-->
	<complexType name="DangerRatingsType">
		<choice maxOccurs="unbounded">
			<element name="DangerRatingSingle" type="caaml:DangerRatingSingleType">
				<annotation>
					<documentation>Includes a single danger rating with no further aspect, elevation or terrain feature specifications</documentation>
				</annotation>
			</element>
			<element name="DangerRatingRose" type="caaml:DangerRatingRoseType">
				<annotation>
					<documentation>Includes danger ratings presented in form of an aspect elevation diagram as commonly used in the USA and parts of Europe</documentation>
				</annotation>
			</element>
		</choice>
	</complexType>
	<!--***-->
	<complexType name="DangerRatingBaseType">
		<sequence>
			<element ref="caaml:locRef" minOccurs="0" maxOccurs="unbounded"/>
			<element ref="caaml:validTime"/>
			<element ref="caaml:comment" minOccurs="0"/>
			<element ref="caaml:customData" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="DangerRatingSingleType">
		<complexContent>
			<extension base="caaml:DangerRatingBaseType">
				<sequence>
					<element name="mainValue" type="caaml:DangerRatingValueType"/>
					<element name="pocketValue" type="caaml:DangerRatingValueType" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="DangerRatingRoseType">
		<complexContent>
			<extension base="caaml:DangerRatingBaseType">
				<sequence>
					<element name="sectors">
						<complexType>
							<sequence>
								<element name="Sector" maxOccurs="unbounded">
									<complexType>
										<sequence>
											<element ref="caaml:validAspectElevation"/>
											<element name="terrainFeature" minOccurs="0"/>
											<element name="mainValue" type="caaml:DangerRatingValueType"/>
											<element name="pocketValue" type="caaml:DangerRatingValueType" minOccurs="0"/>
											<element ref="caaml:comment" minOccurs="0"/>
											<element ref="caaml:customData" minOccurs="0"/>
										</sequence>
									</complexType>
								</element>
							</sequence>
						</complexType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!--***-->
	<simpleType name="ExpectedAvSizeValueType">
		<restriction base="string">
			<enumeration value="0.5"/>
			<enumeration value="1.0"/>
			<enumeration value="1.5"/>
			<enumeration value="2.0"/>
			<enumeration value="2.5"/>
			<enumeration value="3.0"/>
			<enumeration value="3.5"/>
			<enumeration value="4.0"/>
			<enumeration value="4.5"/>
			<enumeration value="5.0"/>
		</restriction>
	</simpleType>
	<simpleType name="LikelihoodOfTriggeringValueType">
		<restriction base="string">
			<enumeration value="Certain"/>
			<enumeration value="Certain - Very Likely"/>
			<enumeration value="Very Likely"/>
			<enumeration value="Very Likely - Likely"/>
			<enumeration value="Likely"/>
			<enumeration value="Likely - Possible"/>
			<enumeration value="Possible"/>
			<enumeration value="Possible - Unlikely"/>
			<enumeration value="Unlikely"/>
		</restriction>
	</simpleType>
	<!--***-->
	<simpleType name="DangerRatingValueType">
		<union memberTypes="gml:NilReasonEnumeration caaml:DangerRatingValueBaseType"/>
	</simpleType>
	<simpleType name="DangerRatingValueBaseType">
		<restriction base="string">
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="3"/>
			<enumeration value="4"/>
			<enumeration value="5"/>
			<enumeration value="n/a"/>
		</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"/>
		</sequence>
	</complexType>
	<!--***-->
	<complexType name="AirTempComplexType">
		<sequence>
			<element name="Components">
				<complexType>
					<choice>
						<element name="description" type="string"/>
					</choice>
				</complexType>
			</element>
		</sequence>
		<attribute name="uom" type="caaml:UomTempType" use="required" fixed="degF"/>
	</complexType>
	<complexType name="WindSpdComplexType">
		<sequence>
			<element name="Components">
				<complexType>
					<choice>
						<element name="description" type="string"/>
					</choice>
				</complexType>
			</element>
		</sequence>
		<attribute name="uom" type="caaml:UomSpeedType" use="required" fixed="mph"/>
	</complexType>
	<complexType name="WindDirComplexType">
		<sequence>
			<element name="Components">
				<complexType>
					<choice>
						<element name="description" type="string"/>
					</choice>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<complexType name="SkyCondComplexType">
		<sequence>
			<element name="Components">
				<complexType>
					<choice>
						<element name="description" type="string"/>
					</choice>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<complexType name="HNComplexType">
		<sequence>
			<element name="Components">
				<complexType>
					<choice>
						<element name="description" type="string"/>
					</choice>
				</complexType>
			</element>
		</sequence>
		<attribute name="uom" type="caaml:UomLengthType" use="required" fixed="in"/>
	</complexType>
	<!--***-->
	<!--**********************************************************-->
	<!--***     MEASUREMENT TYPE DEFINITIONS        ***-->
	<!--**********************************************************-->
	<!--***-->
	<simpleType name="UomTempType" final="#all">
		<restriction base="string">
			<enumeration value="degC"/>
			<enumeration value="degF"/>
		</restriction>
	</simpleType>
	<simpleType name="UomSpeedType" final="#all">
		<restriction base="string">
			<enumeration value="km/h"/>
			<enumeration value="mph"/>
			<enumeration value="m/s"/>
		</restriction>
	</simpleType>
	<simpleType name="UomLengthType" final="#all">
		<restriction base="string">
			<enumeration value="m"/>
			<enumeration value="cm"/>
			<enumeration value="in"/>
		</restriction>
	</simpleType>
</schema>
