[PATCH] Correct ending pressure for .DLD export

Miika Turkia miika.turkia at gmail.com
Thu Mar 14 11:43:17 PDT 2013


We grab the pressure information from samples, if available. Otherwise,
we use information from first cylinder.

Signed-off-by: Miika Turkia <miika.turkia at gmail.com>
---
 xslt/divelogs-export.xslt |   24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/xslt/divelogs-export.xslt b/xslt/divelogs-export.xslt
index 9a69546..00f6037 100644
--- a/xslt/divelogs-export.xslt
+++ b/xslt/divelogs-export.xslt
@@ -45,13 +45,27 @@
       <xsl:value-of select="substring-before(cylinder/@size, ' ')"/>
     </CYLINDERSIZE>
     <CYLINDERSTARTPRESSURE>
-      <xsl:value-of select="substring-before(node()/sample/@pressure, ' ')"/>
+      <xsl:choose>
+        <xsl:when test="node()/sample/@pressure != ''">
+          <xsl:value-of select="substring-before(node()/sample/@pressure, ' ')"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="cylinder[1]/@start"/>
+        </xsl:otherwise>
+      </xsl:choose>
     </CYLINDERSTARTPRESSURE>
     <CYLINDERENDPRESSURE>
-      <xsl:variable name="samples">
-        <xsl:value-of select="count(node()/sample)"/>
-      </xsl:variable>
-      <xsl:value-of select="node()/sample[position() = $samples]/@pressure"/>
+      <xsl:choose>
+        <xsl:when test="count(node()/sample[@pressure!='']) > 0">
+          <xsl:variable name="samples">
+            <xsl:value-of select="count(node()/sample[@pressure!=''])"/>
+          </xsl:variable>
+          <xsl:value-of select="node()/sample[position() = $samples]/@pressure"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="cylinder[1]/@end"/>
+        </xsl:otherwise>
+      </xsl:choose>
     </CYLINDERENDPRESSURE>
     <WEIGHT>
       <xsl:call-template name="sum">
-- 
1.7.9.5



More information about the subsurface mailing list