summaryrefslogtreecommitdiffstats
path: root/xslt
diff options
context:
space:
mode:
Diffstat (limited to 'xslt')
-rw-r--r--xslt/xml2csv.xslt51
1 files changed, 51 insertions, 0 deletions
diff --git a/xslt/xml2csv.xslt b/xslt/xml2csv.xslt
new file mode 100644
index 000000000..f647537df
--- /dev/null
+++ b/xslt/xml2csv.xslt
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:strip-space elements="*"/>
+ <xsl:output method="text" encoding="UTF-8"/>
+
+ <xsl:variable name="fs">,</xsl:variable>
+
+ <xsl:template match="/divelog/dives">
+ <xsl:value-of select='concat("dive number", $fs, "dive date", $fs, "dive time", $fs, "time", $fs, "depth", $fs, "temperature", $fs, "pressure")'/>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="dive|trip/dive"/>
+ </xsl:template>
+
+ <xsl:template match="dive">
+ <xsl:variable name="number">
+ <xsl:value-of select="@number"/>
+ </xsl:variable>
+ <xsl:variable name="date">
+ <xsl:value-of select="@date"/>
+ </xsl:variable>
+ <xsl:variable name="time">
+ <xsl:value-of select="@time"/>
+ </xsl:variable>
+ <xsl:for-each select="divecomputer/sample|sample">
+ <xsl:value-of select="concat('&quot;', $number, '&quot;')"/>
+ <xsl:value-of select="$fs"/>
+ <xsl:value-of select="concat('&quot;', $date, '&quot;')"/>
+ <xsl:value-of select="$fs"/>
+ <xsl:value-of select="concat('&quot;', $time, '&quot;')"/>
+ <xsl:value-of select="$fs"/>
+ <xsl:value-of select="concat('&quot;', substring-before(@time, ' '), '&quot;')"/>
+ <xsl:value-of select="$fs"/>
+ <xsl:value-of select="concat('&quot;', substring-before(@depth, ' '), '&quot;')"/>
+
+ <xsl:value-of select="$fs"/>
+ <xsl:if test="@temp != ''">
+ <xsl:value-of select="concat('&quot;', substring-before(@temp, ' '), '&quot;')"/>
+ </xsl:if>
+
+ <xsl:value-of select="$fs"/>
+ <xsl:if test="@pressure != ''">
+ <xsl:value-of select="concat('&quot;', substring-before(@pressure, ' '), '&quot;')"/>
+ </xsl:if>
+
+ <xsl:text>
+</xsl:text>
+ </xsl:for-each>
+ </xsl:template>
+
+</xsl:stylesheet>