diff options
Diffstat (limited to 'xslt/xml2manualcsv.xslt')
-rw-r--r-- | xslt/xml2manualcsv.xslt | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/xslt/xml2manualcsv.xslt b/xslt/xml2manualcsv.xslt new file mode 100644 index 000000000..fa3868cf8 --- /dev/null +++ b/xslt/xml2manualcsv.xslt @@ -0,0 +1,114 @@ +<?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, '"date"', $fs, '"time"', $fs, '"duration"', $fs, '"maxdepth"', $fs, '"avgdepth"', $fs, '"airtemp"', $fs, '"watertemp"', $fs, '"startpressure"', $fs, '"endpressure"', $fs, '"location"', $fs, '"gps"', $fs, '"divemaster"', $fs, '"buddy"', $fs, '"suit"', $fs, '"rating"', $fs, '"visibility"', $fs, '"notes"')"/> + <xsl:text> +</xsl:text> + <xsl:apply-templates select="dive|trip/dive"/> + </xsl:template> + + <xsl:template match="dive"> + <xsl:text>"</xsl:text> + <xsl:value-of select="@number"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@date"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@time"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@duration"/> + <xsl:text>"</xsl:text> + <xsl:apply-templates select="divecomputer/depth"/> + <xsl:apply-templates select="divetemperature"/> + <xsl:apply-templates select="cylinder"/> + <xsl:apply-templates select="location"/> + <xsl:apply-templates select="divemaster"/> + <xsl:apply-templates select="buddy"/> + <xsl:apply-templates select="suit"/> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@rating"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@visibility"/> + <xsl:text>"</xsl:text> + <xsl:apply-templates select="notes"/> + <xsl:text> +</xsl:text> + </xsl:template> + <xsl:template match="divecomputer/depth"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@max"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@mean"/> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="divetemperature"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@air"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@water"/> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="cylinder"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@start"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@end"/> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="location"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="."/> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="@gps"/> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="divemaster"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="."/> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="buddy"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="."/> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="suit"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="."/> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="notes"> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:value-of select="."/> + <xsl:text>"</xsl:text> + </xsl:template> +</xsl:stylesheet> |