diff options
author | Miika Turkia <miika.turkia@gmail.com> | 2013-03-02 13:10:38 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-03-02 08:42:54 -0800 |
commit | aa02798e2a6ca1a91dbfe444327f5eeb61744ea6 (patch) | |
tree | dbc895dcdac1a8cadf831a7b7af53d98df8e52bf /xslt | |
parent | e89c2fd656c94c60cdb2d51d1451ff86daf559d0 (diff) | |
download | subsurface-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.xslt | 28 | ||||
-rw-r--r-- | xslt/udcf.xslt | 24 | ||||
-rw-r--r-- | xslt/uddf.xslt | 10 |
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"> |