summaryrefslogtreecommitdiffstats
path: root/xslt
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2013-03-02 13:10:38 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-03-02 08:42:54 -0800
commitaa02798e2a6ca1a91dbfe444327f5eeb61744ea6 (patch)
treedbc895dcdac1a8cadf831a7b7af53d98df8e52bf /xslt
parente89c2fd656c94c60cdb2d51d1451ff86daf559d0 (diff)
downloadsubsurface-aa02798e2a6ca1a91dbfe444327f5eeb61744ea6.tar.gz
Dive computer import improvements
Parse dive computer information or divelog generator information and include it as divecomputerid and divecomputer as appropriate. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'xslt')
-rw-r--r--xslt/MacDive.xslt28
-rw-r--r--xslt/udcf.xslt24
-rw-r--r--xslt/uddf.xslt10
3 files changed, 43 insertions, 19 deletions
diff --git a/xslt/MacDive.xslt b/xslt/MacDive.xslt
index f3c87386a..8faa429b1 100644
--- a/xslt/MacDive.xslt
+++ b/xslt/MacDive.xslt
@@ -5,10 +5,16 @@
<xsl:template match="/">
<divelog program='subsurface' version='2'>
<settings>
- <divecomputer>
- <xsl:apply-templates select="/dives/dive/computer"/>
- <xsl:apply-templates select="/dives/dive/serial"/>
- </divecomputer>
+ <xsl:for-each select="/dives/dive">
+ <divecomputerid deviceid="ffffffff">
+ <xsl:attribute name="model">
+ <xsl:value-of select="computer"/>
+ </xsl:attribute>
+ <xsl:attribute name="serial">
+ <xsl:value-of select="serial"/>
+ </xsl:attribute>
+ </divecomputerid>
+ </xsl:for-each>
</settings>
<dives>
<xsl:apply-templates select="/dives/dive"/>
@@ -16,18 +22,6 @@
</divelog>
</xsl:template>
- <xsl:template match="computer">
- <xsl:attribute name="model">
- <xsl:value-of select="."/>
- </xsl:attribute>
- </xsl:template>
-
- <xsl:template match="serial">
- <xsl:attribute name="serial">
- <xsl:value-of select="."/>
- </xsl:attribute>
- </xsl:template>
-
<xsl:template match="dive">
<xsl:variable name="units" select="/dives/units"/>
@@ -152,7 +146,7 @@
<xsl:value-of select="notes"/>
</notes>
- <divecomputer>
+ <divecomputer deviceid="ffffffff">
<xsl:attribute name="model">
<xsl:value-of select="computer"/>
</xsl:attribute>
diff --git a/xslt/udcf.xslt b/xslt/udcf.xslt
index 982516fee..4f3362638 100644
--- a/xslt/udcf.xslt
+++ b/xslt/udcf.xslt
@@ -5,12 +5,30 @@
<xsl:template match="/">
<divelog program="subsurface" version="2">
+ <settings>
+ <divecomputerid deviceid="ffffffff">
+ <xsl:apply-templates select="/PROFILE/DEVICE|/profile/device"/>
+ </divecomputerid>
+ </settings>
<dives>
<xsl:apply-templates select="/PROFILE/REPGROUP/DIVE|/profile/repgroup/dive"/>
</dives>
</divelog>
</xsl:template>
+ <xsl:template match="DEVICE|device">
+ <xsl:if test="MODEL|model != ''">
+ <xsl:attribute name="model">
+ <xsl:value-of select="MODEL|model"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="version|VERSION != ''">
+ <xsl:attribute name="serial">
+ <xsl:value-of select="VERSION|version"/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:template>
+
<xsl:template match="DIVE|dive">
<dive>
<xsl:attribute name="date">
@@ -39,6 +57,12 @@
</temperature>
</xsl:if>
+ <divecomputer deviceid="ffffffff">
+ <xsl:attribute name="model">
+ <xsl:value-of select="/PROFILE/DEVICE/MODEL|/profile/device/model"/>
+ </xsl:attribute>
+ </divecomputer>
+
<xsl:for-each select="GASES/MIX|gases/mix">
<cylinder>
<xsl:attribute name="description">
diff --git a/xslt/uddf.xslt b/xslt/uddf.xslt
index d06747878..5f117382b 100644
--- a/xslt/uddf.xslt
+++ b/xslt/uddf.xslt
@@ -23,12 +23,12 @@
<xsl:template match="generator|u:generator">
<xsl:if test="manufacturer/name|u:manufacturer/u:name != ''">
<xsl:attribute name="model">
- <xsl:value-of select="manufacturer/name|/u:manufacturer/u:name"/>
+ <xsl:value-of select="name|u:name"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="name|u:name != ''">
<xsl:attribute name="firmware">
- <xsl:value-of select="name|u:name"/>
+ <xsl:value-of select="manufacturer/name|/u:manufacturer/u:name"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="version|u:version != ''">
@@ -92,6 +92,12 @@
</temperature>
</xsl:for-each>
+ <divecomputer deviceid="ffffffff">
+ <xsl:attribute name="model">
+ <xsl:value-of select="/uddf/generator/name|/u:uddf/u:generator/u:name"/>
+ </xsl:attribute>
+ </divecomputer>
+
<xsl:apply-templates select="/uddf/gasdefinitions|/u:uddf/u:gasdefinitions"/>
<depth>
<xsl:for-each select="greatestdepth|informationafterdive/greatestdepth|u:greatestdepth|u:informationafterdive/u:greatestdepth">