worldConfig element allows to specify the reference of the scenario. For example, it can allow to specify the center of the map to show the elements.<worldConfig latitude="44.65982" longitude="4.7377534"/>
feba element is the following:<xs:complexType name="feba"> <xs:sequence> <xs:element name="point" type="point" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="property" type="property" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType>Each point is constituted of a latitude and longitude in degrees. For example:
<feba> <point latitude="44.91" longitude="4.9659"/> <point latitude="45.91" longitude="4.9659"/> <point latitude="46.21" longitude="5.9659"/> </feba>
couloir elements is the following:<xs:complexType name="couloirs"> <xs:sequence> <xs:element name="couloir" type="couloir" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="couloir"> <xs:sequence> <xs:element name="point" type="point" minOccurs="4" maxOccurs="4"/> <xs:element name="property" type="property" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType>Each couloir has exactly 4 points which define the two sides of the couloir. See definition of a point for the definition of a point. For example:
<couloir> <point latitude="44.91" longitude="4.9659"/> <point latitude="44.91" longitude="5.9659"/> <point latitude="46.21" longitude="4.9659"/> <point latitude="46.21" longitude="5.9659"/> </couloir>
zone elements is the following:<xs:simpleType name="zoneType"> <xs:restriction base="xs:string"> <xs:enumeration value="FRIEND"/> <xs:enumeration value="FOE"/> </xs:restriction> </xs:simpleType> <xs:complexType name="zones"> <xs:sequence> <xs:element name="zone" type="zone" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="zone"> <xs:sequence> <xs:element name="point" type="point" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="property" type="property" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="type" type="zoneType"/> <xs:attribute name="nature" type="zoneNature"/> </xs:complexType>A Zone type can be FRIEND, FOE, or NEUTRAL, and contain a list of points. See definition of a point for the definition of a point.
<zone type="FRIEND" nature="REFUELING"> <point latitude="44.91" longitude="4.9659"/> <point latitude="45.91" longitude="4.9659"/> <point latitude="46.21" longitude="5.9659"/> </zone>
target elements is the following:<xs:complexType name="targets"> <xs:sequence> <xs:element name="target" type="target" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="target"> <xs:sequence> <xs:element name="point" type="point" maxOccurs="1" minOccurs="1"/> <xs:element name="property" type="property" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="type" type="xs:string" /> </xs:complexType>The type of the Target is a string which can be used by the subscribing modules as needed. A Target has one point specifying the position of this Target. See definition of a point for the definition of a point. For example:
<target name="ucav1" type="UCAV"> <point latitude="44.91" longitude="4.9659"/> </target>
base elements is the following:<xs:complexType name="bases"> <xs:sequence> <xs:element name="base" type="base" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="base"> <xs:sequence> <xs:element name="point" type="point" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="property" type="property" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType>A Base has one point specifying the position of this Base. See definition of a point for the definition of a point. For example:
<base name="base1"> <point latitude="44.91" longitude="4.9659"/> </base>
threat elements is the following:<xs:complexType name="threats"> <xs:sequence> <xs:element name="threat" type="threat" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="threat"> <xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:element name="elementRef" type="elementRef"/> <xs:element name="elementListRef" type="elementListRef"/> <xs:element name="point" type="point"/> <xs:element name="property" type="property"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="type" type="zoneType"/> <xs:attribute name="radius" type="xs:decimal"/> <xs:attribute name="desc" type="xs:string"/> </xs:complexType>A Threat type can be FRIEND, FOE, or NEUTRAL, and contain a list of points. See definition of a point for the definition of a point. The Threat has also a radius which is defined in meters. For example:
<threat name="SA12" type="FOE" radius="1000"> <point latitude="44.9139542570968" longitude="4.96594265297936"/> </threat>
aircraft elements is the following:<xs:complexType name="aircrafts"> <xs:sequence> <xs:element name="aircraft" type="aircraft" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="aircraft"> <xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:element name="elementRef" type="elementRef"/> <xs:element name="elementListRef" type="elementListRef"/> <xs:element name="point" type="point"/> <xs:element name="property" type="property"/> <xs:element name="flightplanDelta" type="point"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="type" type="zoneType"/> <xs:attribute name="speedNorth" type="xs:decimal"/> <xs:attribute name="speedEast" type="xs:decimal"/> <xs:attribute name="speedVertical" type="xs:decimal"/> <xs:attribute name="flightplan" type="xs:string" /> <xs:attribute name="nextWaypoint" type="xs:string" /> <xs:attribute name="desc" type="xs:string"/> </xs:complexType>An Aircraft type can be FRIEND, FOE, or NEUTRAL, and is defined by one position and optionally a speed. For example:
<aircraft name="rafale" type="FRIEND"> <point latitude="44.9139542570968" longitude="4.96594265297936" altitude="1000"/> <property name="tasked" value="true" /> </aircraft>
flightplan property exists and points to an existing Flightplan name then the aircraft will follow the flightplan if the activate boolean property is true. The nextWaypoint property will define the next waypoint to go to from start.flightplanDelta child (if it exists) will specify a delta position (in latitude, longitude) of the aircraft relative to the Flighplan. This allows to specify several aircrafts which will share the same Flightplan. For example:<aircraft name="AC1" type="FRIEND" flightplan="fp1" nextWaypoint="WP1" > <point latitude="44.9139542570968" longitude="4.96594265297936" altitude="1000"/> </aircraft> <aircraft name="AC2" type="FRIEND" flightplan="fp1" nextWaypoint="WP1" > <flightplanDelta latitude="-0.12" longitude="0.02"/> <point latitude="44.9139542570968" longitude="4.96594265297936" altitude="1000"/> </aircraft> <aircraft name="AC3" type="FRIEND" flightplan="fp1" nextWaypoint="WP1" > <flightplanDelta latitude="0.12" longitude="0.02"/> <point latitude="44.9139542570968" longitude="4.96594265297936" altitude="1000"/> </aircraft>
waypoint elements is the following:<xs:complexType name="waypoints"> <xs:sequence> <xs:element name="waypoint" type="waypoint" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="waypoint"> <xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:element name="elementRef" type="elementRef"/> <xs:element name="elementListRef" type="elementListRef"/> <xs:element name="property" type="property"/> <xs:element name="point" type="point"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="type" type="xs:string" /> <xs:attribute name="desc" type="xs:string"/> </xs:complexType>A Waypoint is defined by one position and has a type (the type is a String which can be have any value and can be interpreted by the user modules). For example:
<waypoints> <waypoint name="WP1"> <point latitude="44.9139542570968" longitude="5.96594265297936"/> </waypoint> <waypoint name="WP2" type="ATT"> <point latitude="44.9139542570968" longitude="4.96594265297936"/> </waypoint> </waypoints>
flightplan elements is the following:<xs:complexType name="flightplans"> <xs:sequence> <xs:element name="flightplan" type="flightplan" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="flightplan"> <xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:element name="elementRef" type="elementRef"/> <xs:element name="elementListRef" type="elementListRef"/> <xs:element name="waypoint" type="waypointRef"/> <xs:element name="point" type="point"/> <xs:element name="property" type="property"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="currentWaypoint" type="xs:string" /> <xs:attribute name="desc" type="xs:string"/> </xs:complexType> <xs:complexType name="waypointRef"> <xs:attribute name="name" type="xs:string" use="required" /> </xs:complexType>A Flightplan is defined by an ordered list of points, and an ordered waypoints defined by their name[3]
<flightplans> <flightplan name="fp1"> <point latitude="44.9139542570968" longitude="5.96594265297936"/> <point latitude="44.9179542570968" longitude="4.96594265297936"/> <waypoint name="WP1" /> <waypoint name="WP2" /> </flightplan> </flightplans> <waypoints> <waypoint name="WP1"> <point latitude="44.9139542570968" longitude="5.96594265297936"/> </waypoint> <waypoint name="WP2" type="ATT"> <point latitude="44.9179542570968" longitude="4.96594265297936"/> </waypoint> </waypoints>
<flightplans> <flightplan name="fp1"> <point latitude="44.9139542570968" longitude="5.96594265297936"/> <point latitude="44.9179542570968" longitude="4.96594265297936"/> </flightplan> </flightplans>Flightplan with only waypoints:
<flightplans> <flightplan name="fp1"> <waypoint name="WP1" /> <waypoint name="WP2" /> </flightplan> </flightplans> <waypoints> <waypoint name="WP1"> <point latitude="44.9139542570968" longitude="5.96594265297936"/> </waypoint> <waypoint name="WP2" type="ATT"> <point latitude="44.9179542570968" longitude="4.96594265297936"/> </waypoint> </waypoints>Flightplan with points and waypoints:
<flightplans> <flightplan name="fp1"> <point latitude="44.9139542570968" longitude="5.96594265297936"/> <point latitude="44.9179542570968" longitude="4.96594265297936"/> <waypoint name="WP1" /> <waypoint name="WP2" /> </flightplan> </flightplans> <waypoints> <waypoint name="WP1"> <point latitude="44.9139542570968" longitude="5.96594265297936"/> </waypoint> <waypoint name="WP2" type="ATT"> <point latitude="44.9179542570968" longitude="4.96594265297936"/> </waypoint> </waypoints>
elements node. For example, here we define two mission and two frequency elements:<elements> <element name="mission1" type="mission"> <property name="tasked" value="true"/> </element> <element name="mission2" type="mission"> <property name="tasked" value="true"/> </element> <element name="diamond12_UHF" type="frequency"> <property name="frequency" value="239.650" /> <property name="canal" value="12" /> </element> <element name="diamond12_VHF" type="frequency"> <property name="frequency" value="150.150" /> <property name="canal" value="12" /> </element> </elements>
<zone type="FRIEND"> <point latitude="44.91" longitude="4.9659"/> <point latitude="45.91" longitude="4.9659"/> <point latitude="46.21" longitude="5.9659"/> </zone>It is possible to define each point coordinates with two different patterns:
44.91 specifies a value of 44.91 degrees44'30'500 specifies a value of 44 degrees, 30 minutes, and 500 1/1000th of minutes<target name="ucav1" type="UCAV" desc="the mission target"> <point latitude="44.91" longitude="4.9659"/> </target>
<propertyTypes> <propertyType name="video" type="int" /> </propertyTypes>We declare that the
video property is an int.
<arrayType name="propertyArray" type="property" /> <structType name="property"> <field name="name" type="string" /> <field name="value" type="any" /> </structType>The type of a property will be the type defined for the property name in the custom properties types declaration. If this property has no defined type, it will be a string.
<configuration> <propertyTypes> <propertyType name="video" type="int" /> </propertyTypes> <targets> <target name="SA_12_Bill_Board_47" type="bill board"> <point latitude="44.913" longitude="4.965"/> <property name="video" value="47" /> </target> </targets> </configuration>
elementRef references to other elements. For example:<zone name="myZone" type="NEUTRAL" nature="JTAC"> <point latitude="44.280514" longitude="5.33035"/> <point latitude="44.38048" longitude="5.33035"/> <point latitude="44.38048" longitude="5.430317"/> <point latitude="44.280514" longitude="5.430317"/> <elementRef name="frequency" eltType="frequency" eltName="diamond14"/> </zone> <elements> <element name="diamond14" type="frequency"> <property name="frequency" value="251.175" /> <property name="canal" value="12" /> </element> </elements>Note that an
elementRef reference only refer to one element. If you want to specify one reference to a list of elements of the same type, you should rather use an elementListRef (see references list).
elementListRef element specifies a reference to a list of elemetns of the same type. For example here the element1 custom element uses a list of Zones:<configuration> <zones> <zone name="zone1" nature="TASK"> <point latitude="0" longitude="0"/> <point latitude="2" longitude="2"/> <point latitude="3" longitude="3"/> </zone> <zone name="zone2" nature="TASK"> <point latitude="0" longitude="0"/> <point latitude="2" longitude="2"/> <point latitude="3" longitude="3"/> </zone> </zones> <elements> <element name="element1" type="TheElement"> <elementListRef name="theRef" type="Zone"> <ref eltName="zone1" /> <ref eltName="zone2" /> </elementListRef> </element> </elements> </configuration>
Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence