<tablegeneration>

In this section instructions for the calculation, or generation respectively, of ascent profiles (<_calculateprofile>), dive tables (<calculatetable>), and "maximum bottom time tables" (<calculatebottomtimetable>), are given. Through cross-referencing on previous dives it is possible to take into consideration remaining saturations. Different breathing gases can be considered in the calculations as well as computing ascent profiles, and dive tables, with different decompression models (if the executing software supports this), of course.

Additionally, for a given dive table a "maximum bottom time table" can be generated. This table lists maximum bottom times for different depths for different breathing gas consumption values, and tank volumes, to be set. Possible decompression stops to be taken care of are taken into consideration, of course.

<calculateprofile>
    <profile>
        <mixref/>
        <tankdataref/>
        <surfaceinterval>
            <infinity/>
            <passedtime>
            <wayaltitude>
        <density>
        <output>
            <lingo>
            <fileformat>
            <filename>
            <headline>
            <remark>
        <program>
        <decomodel>
        <deepstoptime>
        <maximumascendingrate>
        <inputprofile>
            <diveref/>
            <repetitiongroupref/>
            <waypoint>
                <alarm>
                <cns>
                <depth>
                <divetime>
                <otu>
                <setpo2>
                <switchmix/>
                <temperature>
        <mixchange>
            <ascent>
                <waypoint>
                    <alarm>
                    <cns>
                    <depth>
                    <divetime>
                    <otu>
                    <setpo2>
                    <switchmix/>
                    <temperature>
            <descent>
                <waypoint>
                    <alarm>
                    <cns>
                    <depth>
                    <divetime>
                    <otu>
                    <setpo2>
                    <switchmix/>
                    <temperature>
            
<calculatetable>
    <table>
        <inputprofile>
            <diveref/>
            <repetitiongroupref/>
            <waypoint>
                <alarm>
                <cns>
                <depth>
                <divetime>
                <otu>
                <setpo2>
                <switchmix/>
                <temperature>
        <mixref/>
        <surfaceinterval>
            <infinity/>
            <passedtime>
            <wayaltitude>
        <density>
        <output>
            <lingo>
            <fileformat>
            <filename>
            <headline>
            <remark>
        <program>
        <decomodel>
        <deepstoptime>
        <maximumascendingrate>
        <tablescope>
            <altitude>
            <divedepthbegin>
            <divedepthend>
            <divedepthstep>
            <bottomtimemaximum>
            <bottomtimeminimum>
            <bottomtimestepbegin>
            <bottomtimestepend>
            
<calculatebottomtimetable>
    <bottomtimetable>
        <tableref/>
        <output>
            <lingo>
            <fileformat>
            <filename>
            <headline>
            <remark>
        <program>
        <bottomtimetablescope>
            <divedepthbegin>
            <divedepthend>
            <divedepthstep>
            <breathingconsumptionvolumebegin>
            <breathingconsumptionvolumeend>
            <breathingconsumptionvolumestep>
            <tankvolumebegin>
            <tankvolumeend>
            <tankvolumestep>
            <tankpressurebegin>
            <tankpressurereserve>