summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2017-12-10 08:18:53 +0200
committerGravatar mturkia <miika.turkia@gmail.com>2017-12-10 11:29:52 +0200
commit38cc8bdc40af408afb7904710d4db90eff20376e (patch)
tree3a5062f289869f7bf63ac84a906d104ff232e344
parent5c8ad329f52b1a84f0c61b5c36fd252dd5fdac0a (diff)
downloadsubsurface-38cc8bdc40af408afb7904710d4db90eff20376e.tar.gz
Support dctype/divemode on UDDF import
This will grab the divemode information from the first waypoint within the dive that includes this info and uses it for dctype. Note that our dive type is not as fine grained as the one in UDDF. The latter allows one to switch divemode during the dive when we do not. However, one could argue that i.e. a rebreather dive should be a rebreather dive even if one switches to bailout gas at some point... Fixes #922 Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
-rw-r--r--xslt/uddf.xslt21
1 files changed, 21 insertions, 0 deletions
diff --git a/xslt/uddf.xslt b/xslt/uddf.xslt
index e5c0f33f1..912b0f4d3 100644
--- a/xslt/uddf.xslt
+++ b/xslt/uddf.xslt
@@ -359,6 +359,27 @@
</xsl:choose>
</xsl:attribute>
+ <!-- Divemode -->
+ <xsl:if test="samples/waypoint/divemode/@type|u:samples/u:waypoint/u:divemode/@type|u1:samples/u1:waypoint/u1:divemode/@type != ''">
+ <xsl:attribute name='dctype'>
+ <xsl:choose>
+ <xsl:when test="samples/waypoint/divemode/@type|u:samples/u:waypoint/u:divemode/@type|u1:samples/u1:waypoint/u1:divemode/@type = 'apnoe'
+ or samples/waypoint/divemode/@type|u:samples/u:waypoint/u:divemode/@type|u1:samples/u1:waypoint/u1:divemode/@type = 'apnea'">
+ <xsl:text>Freedive</xsl:text>
+ </xsl:when>
+ <xsl:when test="samples/waypoint/divemode/@type|u:samples/u:waypoint/u:divemode/@type|u1:samples/u1:waypoint/u1:divemode/@type = 'closedcircuit'">
+ <xsl:text>CCR</xsl:text>
+ </xsl:when>
+ <xsl:when test="samples/waypoint/divemode/@type|u:samples/u:waypoint/u:divemode/@type|u1:samples/u1:waypoint/u1:divemode/@type = 'semiclosedcircuit'">
+ <xsl:text>PSCR</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>OC</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ </xsl:if>
+
<depth>
<xsl:for-each select="greatestdepth|informationafterdive/greatestdepth|u:greatestdepth|u:informationafterdive/u:greatestdepth|u1:greatestdepth|u1:informationafterdive/u1:greatestdepth|max_depth">
<xsl:attribute name="max">