diff options
Diffstat (limited to 'xslt')
-rw-r--r-- | xslt/xml2manualcsv.xslt | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/xslt/xml2manualcsv.xslt b/xslt/xml2manualcsv.xslt index 88762f6a8..d6c1a8b3b 100644 --- a/xslt/xml2manualcsv.xslt +++ b/xslt/xml2manualcsv.xslt @@ -108,13 +108,39 @@ <xsl:text>"</xsl:text> </xsl:otherwise> </xsl:choose> - <xsl:apply-templates select="location"/> - <xsl:if test="string-length(location) = 0"> - <xsl:value-of select="$fs"/> - <xsl:text>""</xsl:text> - <xsl:value-of select="$fs"/> - <xsl:text>""</xsl:text> - </xsl:if> + <xsl:choose> + <!-- Old location format --> + <xsl:when test="location != ''"> + <xsl:apply-templates select="location"/> + <xsl:if test="string-length(location) = 0"> + <xsl:value-of select="$fs"/> + <xsl:text>""</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>""</xsl:text> + </xsl:if> + </xsl:when> + <!-- Format with dive site managemenet --> + <xsl:otherwise> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:if test="string-length(@divesiteid) > 0"> + <xsl:variable name="uuid"> + <xsl:value-of select="@divesiteid" /> + </xsl:variable> + <xsl:value-of select="//divesites/site[@uuid = $uuid]/@name"/> + </xsl:if> + <xsl:text>"</xsl:text> + <xsl:value-of select="$fs"/> + <xsl:text>"</xsl:text> + <xsl:if test="string-length(@divesiteid) > 0"> + <xsl:variable name="uuid"> + <xsl:value-of select="@divesiteid" /> + </xsl:variable> + <xsl:value-of select="//divesites/site[@uuid = $uuid]/@gps"/> + </xsl:if> + <xsl:text>"</xsl:text> + </xsl:otherwise> + </xsl:choose> <xsl:apply-templates select="divemaster"/> <xsl:if test="string-length(divemaster) = 0"> <xsl:value-of select="$fs"/> |