<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.fixm.aero/flight/4.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fx="http://www.fixm.aero/flight/4.2" xmlns:fb="http://www.fixm.aero/base/4.2" elementFormDefault="qualified" version="4.2.0">
	<xs:annotation>
		<xs:documentation>The EnRoute package consists of flight information while the flight is en route including coordination between the air traffic control unit as the flight transitions between the unit boundaries along the route.

=========================================== 
Copyright (c) 2020 Airservices Australia, DSNA, EUROCONTROL, GCAA UAE, IATA, International Coordinating Council of Aerospace Industries Associations, JCAB, NATS Limited, NAV CANADA, SESAR Joint Undertaking and US FAA 
=========================================== 
All rights reserved. 
          
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 
	- Redistributions of source code must retain the above copyright notice, this list of conditions and the disclaimer.
	- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the disclaimer in the documentation and/or other materials provided with the distribution.
	- Neither the names of Airservices Australia, DSNA, EUROCONTROL, GCAA UAE, IATA, International Coordinating Council of Aerospace Industries Associations, JCAB, NATS Limited, NAV CANADA, SESAR Joint Undertaking and US FAA nor the names of their contributors may be used to endorse or promote products derived from this specification without specific prior written permission.
          
DISCLAIMER 
          
THIS SPECIFICATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
          
========================================== 
Editorial note: this license is an instance of the BSD license template as provided by the Open Source Initiative: 
http://www.opensource.org/licenses/bsd-license.php 
          
The authoritative reference for FIXM is www.FIXM.aero. 
          
Details on Airservices Australia: http://www.airservicesaustralia.com/ 
Details on DSNA: http://www.developpement-durable.gouv.fr/-Navigation-aerienne-.html 
Details on EUROCONTROL: http://www.eurocontrol.int/ 
Details on IATA: http://www.iata.org/Pages/default.aspx 
Details on JCAB: http://www.mlit.go.jp/en/koku/index.html 
Details on NATS Limited: http://www.nats.co.uk/ 
Details on NAV CANADA: http://www.navcanada.ca/ 
Details on the UAE GCAA: https://www.gcaa.gov.ae 
Details on the ICCAIA: www.iccaia.org 
Details on the SESAR JU and its members: http://www.sesarju.eu/discover-sesar/partnering-smarter-aviation/members 
Details on the US FAA: http://www.faa.gov/ </xs:documentation>
	</xs:annotation>
	<xs:import namespace="http://www.fixm.aero/base/4.2" schemaLocation="../../base/Base.xsd"/>
	<xs:simpleType name="BoundaryCrossingConditionType">
		<xs:annotation>
			<xs:documentation>Specifies whether the boundary crossing occurs at or above or at or below the specified level.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="AT_OR_ABOVE">
				<xs:annotation>
					<xs:documentation>Indicates that the transition altitude is at or above the specified.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AT_OR_BELOW">
				<xs:annotation>
					<xs:documentation>Indicates that the transition altitude is at or below the specified.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="AltitudeInTransitionType">
		<xs:annotation>
			<xs:documentation>An altitude (flight level) at or above/below which (specified in Boundary Crossing Condition) an aircraft will cross the associated boundary point.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="crossingCondition" type="fx:BoundaryCrossingConditionType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>Specifies whether the boundary crossing occurs at or above or at or below the specified level.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extension" type="fb:AltitudeInTransitionExtensionType" minOccurs="0" maxOccurs="2000" nillable="true">
				<xs:annotation>
					<xs:documentation>An extension hook for attaching extension (non-core) classes.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="level" type="fb:FlightLevelOrAltitudeChoiceType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>An altitude (flight level) at or above/below which (specified in Boundary Crossing Condition) an aircraft will cross the associated boundary point.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="BoundaryCrossingType">
		<xs:annotation>
			<xs:documentation>Boundary Crossing contains estimate data conveyed between ATS Units during the process of Controller Coordination. [FIXM]</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="altitudeInTransition" type="fx:AltitudeInTransitionType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>Negotiated boundary crossing transition altitude.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="clearedLevel" type="fb:FlightLevelOrAltitudeChoiceType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>The cleared altitude (flight level) at which the aircraft will cross the boundary crossing point if in level cruising flight or, if the aircraft is climbing or descending at the boundary crossing point, the cleared flight level to which it is proceeding.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="crossingPoint" type="fb:SignificantPointChoiceType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>The point where the flight will cross an ATS facility boundary.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="crossingTime" type="fb:TimeType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>The estimated time at which a flight will cross the associated boundary crossing point.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extension" type="fb:BoundaryCrossingExtensionType" minOccurs="0" maxOccurs="2000" nillable="true">
				<xs:annotation>
					<xs:documentation>An extension hook for attaching extension (non-core) classes.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EnRouteType">
		<xs:annotation>
			<xs:documentation>Groups the en route information about the flight.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="alternateAerodrome" type="fb:AerodromeReferenceType" minOccurs="0" maxOccurs="2000" nillable="true">
				<xs:annotation>
					<xs:documentation>An ICAO designator of the aerodrome to which a flight could be diverted while en route, if needed.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="boundaryCrossingCoordination" type="fx:BoundaryCrossingType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>A proposed boundary crossing information with associated details including altitude, crossing point and crossing time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="currentModeACode" type="fb:ModeACodeType" minOccurs="0" maxOccurs="1" nillable="true">
				<xs:annotation>
					<xs:documentation>Current assigned Mode A code. [FIXM]</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extension" type="fb:EnRouteExtensionType" minOccurs="0" maxOccurs="2000" nillable="true">
				<xs:annotation>
					<xs:documentation>An extension hook for attaching extension (non-core) classes.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
