[PATCH 7/7] Fix bug in tankpressurebegin in UDDF export

Martin Long martin at longhome.co.uk
Fri Dec 12 16:34:40 PST 2014


There was a bug when the first sample doesn't contain pressure info.
This fixes that by selecting the first with pressure info.

Signed-off-by: Martin Long <martin at longhome.co.uk>
---
 xslt/uddf-export.xslt | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/xslt/uddf-export.xslt b/xslt/uddf-export.xslt
index d5d475f..c70aadc 100644
--- a/xslt/uddf-export.xslt
+++ b/xslt/uddf-export.xslt
@@ -475,37 +475,34 @@
           </link>
 
           <xsl:if test="@size">
+		  
             <tankvolume>
               <xsl:value-of select="substring-before(@size, ' ')"/>
             </tankvolume>
           </xsl:if>
           <xsl:choose>
-            <xsl:when test="divecomputer[1]/sample/@pressure != ''">
-              <tankpressurebegin>
-                <xsl:value-of select="substring-before(divecomputer[1]/sample/@pressure[1], ' ') * 100000"/>
-              </tankpressurebegin>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="@start">
+            <xsl:when test="@start">
                 <tankpressurebegin>
                   <xsl:value-of select="substring-before(@start, ' ') * 100000"/>
                 </tankpressurebegin>
-              </xsl:if>
+            </xsl:when>
+            <xsl:otherwise>
+              <tankpressurebegin>
+                <xsl:value-of select="substring-before(divecomputer[1]/sample[@pressure]/@pressure[1], ' ') * 100000"/>
+              </tankpressurebegin>
             </xsl:otherwise>
           </xsl:choose>
 
           <xsl:choose>
-            <xsl:when test="count(divecomputer[1]/sample[@pressure]) > 0">
-              <tankpressureend>
-                <xsl:value-of select="substring-before(divecomputer[1]/sample[@pressure][last()]/@pressure, ' ') * 100000"/>
-              </tankpressureend>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:if test="@end">
+            <xsl:when test="@end">
                 <tankpressureend>
                   <xsl:value-of select="substring-before(@end, ' ') * 100000"/>
                 </tankpressureend>
-              </xsl:if>
+            </xsl:when>
+            <xsl:otherwise>
+              <tankpressureend>
+                <xsl:value-of select="substring-before(divecomputer[1]/sample[@pressure][last()]/@pressure, ' ') * 100000"/>
+              </tankpressureend>
             </xsl:otherwise>
           </xsl:choose>
 
-- 
1.9.1



More information about the subsurface mailing list