<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:element name="response" >
			<xsd:complexType >
			<xsd:sequence >
				<xsd:element ref="request_index" />
				<xsd:element ref="data_source" />
				<xsd:element ref="request"/>
				<xsd:element ref="errors"/>
				<xsd:element ref="warnings"/>
				<xsd:element ref="time_taken_ms"/>
				<xsd:element ref="data"/>
			</xsd:sequence>
			<xsd:attribute name="version" type="xsd:string" default="1.1"/>
		</xsd:complexType>
	</xsd:element>
		
	<xsd:element name="request_index" type="xsd:int"/>
	<xsd:element name="data_source" >
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="request" >
		<xsd:complexType>
				<xsd:attribute name="type" type="xsd:string" />
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="errors">
		<xsd:complexType>
			<xsd:sequence minOccurs="0" >
				<xsd:element ref="error" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="warnings">
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="warning" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="data" >
		<xsd:complexType>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="AIRSIGMET"/>
			</xsd:sequence>
			<xsd:attribute name="num_results" type="xsd:int"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="warning" type="xsd:string"/>
	<xsd:element name="error" type="xsd:string"/>
	<xsd:element name="time_taken_ms" type="xsd:int"/>
	<xsd:attribute name="num_results" type="xsd:int"/>
		
	<xsd:element name="AIRSIGMET">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="raw_text" minOccurs="0"/>
				<xsd:element ref="valid_time_from" minOccurs="0"/>
				<xsd:element ref="valid_time_to" minOccurs="0"/>
				<xsd:element ref="altitude" minOccurs="0"/>
				<xsd:element ref="movement_dir_degrees" minOccurs="0"/>
				<xsd:element ref="movement_speed_kt" minOccurs="0"/>
				<xsd:element ref="hazard" minOccurs="0"/>
				<xsd:element ref="airsigmet_type" minOccurs="0"/>
				<xsd:element ref="area" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
		
	<xsd:element name="raw_text" type="xsd:string"/>
	<xsd:element name="valid_time_from" type="xsd:string"/>
	<xsd:element name="valid_time_to" type="xsd:string"/>
	<xsd:element name="altitude" >
		<xsd:complexType>
			<xsd:attribute name="min_ft_msl" type="xsd:int" />
			<xsd:attribute name="max_ft_msl" type="xsd:int" />
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="movement_dir_degrees" type="xsd:integer"/>
	<xsd:element name="movement_speed_kt" type="xsd:integer"/>
	<xsd:element name="hazard" >
		<xsd:complexType>
			<xsd:attribute name="type" type="xsd:string" />
			<xsd:attribute name="severity" type="xsd:string" />
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="airsigmet_type" type="xsd:string"/>
	<xsd:element name="area" >
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="point" minOccurs="1" maxOccurs="unbounded" />
			</xsd:sequence>
			<xsd:attribute name="num_points" type="xsd:integer"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="point">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="longitude" type="xsd:float" minOccurs="1"/>
				<xsd:element name="latitude" type="xsd:float" minOccurs="1"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
