diff options
-rw-r--r-- | xslt/xml2manualcsv.xslt | 14 |
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>"</xsl:text> <xsl:value-of select="@number"/> <xsl:text>"</xsl:text> @@ -231,6 +238,9 @@ <xsl:for-each select="cylinder"> <xsl:choose> + <xsl:when test="$cylinders < position()"/> + <xsl:otherwise> + <xsl:choose> <xsl:when test="@start|@end != ''"> <xsl:apply-templates select="."/> </xsl:when> @@ -292,6 +302,8 @@ <xsl:text>"</xsl:text> </xsl:otherwise> </xsl:choose> + </xsl:otherwise> + </xsl:choose> </xsl:for-each> <xsl:choose> |