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