[PATCH 1/5] CSV export: support for new location management

Miika Turkia miika.turkia at gmail.com
Sun Sep 6 03:06:14 PDT 2015


Signed-off-by: Miika Turkia <miika.turkia at gmail.com>
---
 xslt/xml2manualcsv.xslt | 40 +++++++++++++++++++++++++++++++++-------
 1 file changed, 33 insertions(+), 7 deletions(-)

diff --git a/xslt/xml2manualcsv.xslt b/xslt/xml2manualcsv.xslt
index 88762f6..d6c1a8b 100644
--- a/xslt/xml2manualcsv.xslt
+++ b/xslt/xml2manualcsv.xslt
@@ -108,13 +108,39 @@
         <xsl:text>"</xsl:text>
       </xsl:otherwise>
     </xsl:choose>
-    <xsl:apply-templates select="location"/>
-    <xsl:if test="string-length(location) = 0">
-      <xsl:value-of select="$fs"/>
-      <xsl:text>""</xsl:text>
-      <xsl:value-of select="$fs"/>
-      <xsl:text>""</xsl:text>
-    </xsl:if>
+    <xsl:choose>
+      <!-- Old location format -->
+      <xsl:when test="location != ''">
+        <xsl:apply-templates select="location"/>
+        <xsl:if test="string-length(location) = 0">
+          <xsl:value-of select="$fs"/>
+          <xsl:text>""</xsl:text>
+          <xsl:value-of select="$fs"/>
+          <xsl:text>""</xsl:text>
+        </xsl:if>
+      </xsl:when>
+      <!-- Format with dive site managemenet -->
+      <xsl:otherwise>
+        <xsl:value-of select="$fs"/>
+        <xsl:text>"</xsl:text>
+        <xsl:if test="string-length(@divesiteid) > 0">
+          <xsl:variable name="uuid">
+            <xsl:value-of select="@divesiteid" />
+          </xsl:variable>
+          <xsl:value-of select="//divesites/site[@uuid = $uuid]/@name"/>
+        </xsl:if>
+        <xsl:text>"</xsl:text>
+        <xsl:value-of select="$fs"/>
+        <xsl:text>"</xsl:text>
+        <xsl:if test="string-length(@divesiteid) > 0">
+          <xsl:variable name="uuid">
+            <xsl:value-of select="@divesiteid" />
+          </xsl:variable>
+          <xsl:value-of select="//divesites/site[@uuid = $uuid]/@gps"/>
+        </xsl:if>
+        <xsl:text>"</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
     <xsl:apply-templates select="divemaster"/>
     <xsl:if test="string-length(divemaster) = 0">
       <xsl:value-of select="$fs"/>
-- 
2.1.4



More information about the subsurface mailing list