summaryrefslogtreecommitdiffstats
path: root/xslt
diff options
context:
space:
mode:
Diffstat (limited to 'xslt')
-rw-r--r--xslt/xml2manualcsv.xslt14
1 files changed, 13 insertions, 1 deletions
diff --git a/xslt/xml2manualcsv.xslt b/xslt/xml2manualcsv.xslt
index af5d65220..9b09dd03d 100644
--- a/xslt/xml2manualcsv.xslt
+++ b/xslt/xml2manualcsv.xslt
@@ -11,6 +11,9 @@
</xsl:text></xsl:variable>
<xsl:template match="/divelog/dives">
+ <xsl:variable name="cylinders">
+ <xsl:value-of select="count(dive[position()=last()]/cylinder|trip[position()=last()]/dive[position()=last()]/cylinder)"/>
+ </xsl:variable>
<xsl:choose>
<xsl:when test="$units = 1">
@@ -139,12 +142,16 @@
</xsl:choose>
<xsl:text>
</xsl:text>
- <xsl:apply-templates select="dive|trip/dive"/>
+ <xsl:apply-templates select="dive|trip/dive">
+ <xsl:with-param name="cylinders" select="$cylinders"/>
+ </xsl:apply-templates>
</xsl:template>
<xsl:template match="divesites/site/notes"/>
<xsl:template match="dive">
+ <xsl:param name="cylinders"/>
+
<xsl:text>&quot;</xsl:text>
<xsl:value-of select="@number"/>
<xsl:text>&quot;</xsl:text>
@@ -231,6 +238,9 @@
<xsl:for-each select="cylinder">
<xsl:choose>
+ <xsl:when test="$cylinders &lt; position()"/>
+ <xsl:otherwise>
+ <xsl:choose>
<xsl:when test="@start|@end != ''">
<xsl:apply-templates select="."/>
</xsl:when>
@@ -292,6 +302,8 @@
<xsl:text>&quot;</xsl:text>
</xsl:otherwise>
</xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:for-each>
<xsl:choose>