<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.0"/>
			</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="Station"/>
				</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:element name="Station">
		    <xsd:complexType>
		        <xsd:sequence>
		            <xsd:element ref="station_id" />
		            <xsd:element ref="wmo_id"  minOccurs="0" />
		            <xsd:element ref="latitude"  />
		            <xsd:element ref="longitude" />
		            <xsd:element ref="elevation_m" />
		            <xsd:element ref="site" />
		            <xsd:element ref="state"  minOccurs="0"/>
		            <xsd:element ref="country" />
		            <xsd:element ref="site_type" minOccurs="0" maxOccurs="1"/>
		        </xsd:sequence>
		    </xsd:complexType>
		</xsd:element>
		
		<xsd:element name="station_id" type="xsd:string"/>
		<xsd:element name="wmo_id" type="xsd:string"/>
		<xsd:element name="latitude" type="xsd:float"/>
		<xsd:element name="longitude" type="xsd:float"/>
		<xsd:element name="elevation_m" type="xsd:float"/>
		<xsd:element name="site" type="xsd:string"/>
		<xsd:element name="state" type="xsd:string"/>
		<xsd:element name="country" type="xsd:string"/>
		<xsd:element name="site_type" >		
		    <xsd:complexType>
		        <xsd:sequence>
		           <xsd:element ref="METAR" minOccurs="0" maxOccurs="1"/>
		           <xsd:element ref="rawinsonde" minOccurs="0" maxOccurs="1"/>
	               <xsd:element ref="TAF" minOccurs="0" maxOccurs="1"/>
	               <xsd:element ref="NEXRAD" minOccurs="0" maxOccurs="1" />
		           <xsd:element ref="wind_profiler" minOccurs="0" maxOccurs="1" />
		           <xsd:element ref="WFO_office" minOccurs="0" maxOccurs="1" />
                   <xsd:element ref="SYNOPS" minOccurs="0" maxOccurs="1"/>           
		        </xsd:sequence>
		    </xsd:complexType>
		</xsd:element>
		
		<xsd:element name="METAR"/>
		<xsd:element name="rawinsonde"/>
		<xsd:element name="TAF"/>
		<xsd:element name="NEXRAD"/>
		<xsd:element name="wind_profiler"/>
		<xsd:element name="WFO_office"/>
		<xsd:element name="SYNOPS"/>
		
		
	
		
		
		
		
</xsd:schema>