<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.incident.com/cap" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cap="http://www.incident.com/cap" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="alert">
		<xs:annotation>
			<xs:documentation>CAP Alert Message</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="msg_id" type="xs:string"/>
				<xs:element name="sender_id" type="xs:string"/>
				<xs:element name="source_id" type="xs:string" minOccurs="0"/>
				<xs:element name="sent" type="xs:dateTime"/>
				<xs:element name="msg_status">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="Actual"/>
							<xs:enumeration value="Exercise"/>
							<xs:enumeration value="Test"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="msg_type">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="Alert"/>
							<xs:enumeration value="Update"/>
							<xs:enumeration value="Cancel"/>
							<xs:enumeration value="Ack"/>
							<xs:enumeration value="Error"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="msg_note" type="xs:string" minOccurs="0"/>
				<xs:element name="ref_id" minOccurs="0">
					<xs:simpleType>
						<xs:list itemType="xs:string"/>
					</xs:simpleType>
				</xs:element>
				<xs:element name="incident_id" minOccurs="0">
					<xs:simpleType>
						<xs:list itemType="xs:string"/>
					</xs:simpleType>
				</xs:element>
				<xs:element name="info" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="language" type="xs:language" default="en-US" minOccurs="0"/>
							<xs:element name="event_cat">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Geo"/>
										<xs:enumeration value="Met"/>
										<xs:enumeration value="Security"/>
										<xs:enumeration value="Rescue"/>
										<xs:enumeration value="Fire"/>
										<xs:enumeration value="Health"/>
										<xs:enumeration value="Env"/>
										<xs:enumeration value="Transport"/>
										<xs:enumeration value="Infra"/>
										<xs:enumeration value="Other"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="event_type" type="xs:string"/>
							<xs:element name="urgency">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Ongoing"/>
										<xs:enumeration value="Impending"/>
										<xs:enumeration value="Forecast"/>
										<xs:enumeration value="Past"/>
										<xs:enumeration value="Uncertain"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="severity">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Severe"/>
										<xs:enumeration value="Moderate"/>
										<xs:enumeration value="Minor"/>
										<xs:enumeration value="Uncertain"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="probability">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="High"/>
										<xs:enumeration value="Moderate"/>
										<xs:enumeration value="Low"/>
										<xs:enumeration value="Minimal"/>
										<xs:enumeration value="Uncertain"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="audience" type="xs:string" minOccurs="0"/>
							<xs:element name="area" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="area_desc" type="xs:string"/>
										<xs:choice minOccurs="0">
											<xs:element name="polygon">
												<xs:simpleType>
													<xs:list itemType="xs:string"/>
												</xs:simpleType>
											</xs:element>
											<xs:element name="radius">
												<xs:simpleType>
													<xs:list itemType="xs:string"/>
												</xs:simpleType>
											</xs:element>
										</xs:choice>
										<xs:element name="geo_code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="target_code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="effective" type="xs:dateTime" minOccurs="0"/>
							<xs:element name="onset" type="xs:dateTime" minOccurs="0"/>
							<xs:element name="expires" type="xs:dateTime" minOccurs="0"/>
							<xs:element name="sender_desc" type="xs:string" minOccurs="0"/>
							<xs:element name="headline" type="xs:string" minOccurs="0"/>
							<xs:element name="event_desc" type="xs:string" minOccurs="0"/>
							<xs:element name="instruction" type="xs:string" minOccurs="0"/>
							<xs:element name="info_url" type="xs:anyURI" minOccurs="0"/>
							<xs:element name="image_url" type="xs:anyURI" minOccurs="0"/>
							<xs:element name="audio_url" type="xs:anyURI" minOccurs="0"/>
							<xs:element name="contact" type="xs:string" minOccurs="0"/>
							<xs:element name="parameter" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="signer_id" type="xs:string" minOccurs="0"/>
				<xs:element name="signature" type="xs:string" minOccurs="0"/>
				<xs:element name="digest" type="xs:string" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="audience" type="xs:string"/>
	<xs:element name="headline" type="xs:string"/>
	<xs:element name="event_desc" type="xs:string"/>
	<xs:element name="action" type="xs:string"/>
	<xs:element name="info_url" type="xs:anyURI"/>
	<xs:element name="image_url" type="xs:anyURI"/>
	<xs:element name="audio_url" type="xs:anyURI"/>
	<xs:element name="onset" type="xs:duration"/>
	<xs:element name="expires" type="xs:dateTime"/>
	<xs:element name="urgency">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="Ongoing"/>
				<xs:enumeration value="Impending"/>
				<xs:enumeration value="Forecast"/>
				<xs:enumeration value="Past"/>
				<xs:enumeration value="Uncertain"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="severity">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="Extreme"/>
				<xs:enumeration value="Severe"/>
				<xs:enumeration value="Moderate"/>
				<xs:enumeration value="Minor"/>
				<xs:enumeration value="Uncertain"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="probability">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="High"/>
				<xs:enumeration value="Moderate"/>
				<xs:enumeration value="Low"/>
				<xs:enumeration value="Minimal"/>
				<xs:enumeration value="Uncertain"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="parameter" type="xs:anySimpleType"/>
	<xs:complexType name="contactType"/>
	<xs:element name="contact" type="xs:string"/>
	<xs:element name="msg_id" type="xs:string"/>
	<xs:element name="sender_id" type="xs:string"/>
	<xs:element name="sender_desc" type="xs:string"/>
	<xs:element name="msg_type">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="Actionable"/>
				<xs:enumeration value="Cancellation"/>
				<xs:enumeration value="Update"/>
				<xs:enumeration value="Exercise"/>
				<xs:enumeration value="Admin"/>
				<xs:enumeration value="Test"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="ref_id" type="xs:string"/>
	<xs:element name="incident_id" type="xs:ID"/>
	<xs:element name="event_cat">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="Geophysical"/>
				<xs:enumeration value="Meteorological"/>
				<xs:enumeration value="Safety"/>
				<xs:enumeration value="Health"/>
				<xs:enumeration value="Transport"/>
				<xs:enumeration value="Infrastructure"/>
				<xs:enumeration value="Other"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="event_type" type="xs:string"/>
	<xs:element name="sent" type="xs:dateTime"/>
	<xs:element name="effective" type="xs:dateTime"/>
	<xs:element name="affected_area">
		<xs:complexType/>
	</xs:element>
	<xs:element name="polygon" type="xs:string"/>
	<xs:element name="radius" type="xs:string"/>
	<xs:element name="area_desc" type="xs:string"/>
	<xs:element name="fips" type="xs:string"/>
	<xs:element name="lang_block">
		<xs:complexType>
			<xs:sequence minOccurs="0">
				<xs:element ref="cap:audience" minOccurs="0"/>
				<xs:element ref="cap:headline" minOccurs="0"/>
				<xs:element ref="cap:event_desc" minOccurs="0"/>
				<xs:element ref="cap:action" minOccurs="0"/>
				<xs:element ref="cap:info_url" minOccurs="0"/>
				<xs:element ref="cap:image_url" minOccurs="0"/>
				<xs:element ref="cap:audio_url" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="language">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="2"/>
				<xs:minLength value="2"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="auth">
		<xs:complexType/>
	</xs:element>
	<xs:element name="digest" type="xs:string"/>
	<xs:element name="signature" type="xs:string"/>
	<xs:element name="signer_id" type="xs:string"/>
	<xs:element name="contact_role" type="xs:string"/>
	<xs:element name="contact_name" type="xs:string"/>
	<xs:element name="contact_title" type="xs:string"/>
	<xs:element name="contact_org" type="xs:string"/>
	<xs:element name="contact_tel" type="xs:string"/>
	<xs:element name="contact_email" type="xs:string"/>
	<xs:element name="contact_other" type="xs:string"/>
	<xs:element name="x-target" type="xs:string"/>
</xs:schema>
