UDDF distinguishes between dives with a <rebreather>, dives with an open system, or apnoe dives. The kind of dive is set via <divemode> and its attribute type. An attribute type="closedcircuit" indicates a dive with a closed circuit rebreather, while type="semiclosedcircuit" denotes a semi-closed rebreather. type="opencircuit" sets the type to a dive with an open system ("scuba"), and type="apnoe" indicates an apnoe dive. The attributes are mutually exclusive. Given a <divemode> element with one of the three attributes, the type of dive is remaining until another dive type is initiated via the next <divemode> element with another type attribute. This may happen arbitrarily often.
In principal it is possible, for example, to begin an apnoe dive and later to switch to an open circuit scuba dive. Of course, this requires that the <divecomputer> used can be switched between the different types of diving under water.
If no <divemode/> element appears in the first <waypoint>, the dive mode should be an open system ("SCUBA") dive.
<waypoint>
<rebreather>, <waypoint>
(see also <waypoint>)
<samples> <!-- beginning of dive; diving with a closed circuit rebreather using the start gas --> <!-- with internal id "my_nitrox" (declared inside the <gasdefinitions> section) --> <waypoint> <depth>0.0</depth> <divetime>0.0</divetime> <divemode type="closedcircuit"/> <switchmix ref="my_nitrox"/> </waypoint> <!-- following <waypoint> statements --> . . . <!-- as an exercise, change to open circuit after 30 minutes --> <waypoint> <depth>10.0</depth> <divetime>1800.0</divetime> <divemode type="opencircuit"/> </waypoint> <!-- following <waypoint> statements --> . . . <!-- end of dive after 45 minutes (with OC)--> <waypoint> <depth>0.0</depth> <divetime>2700.0</divetime> </waypoint> </samples>