summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Martin Long <martin@longhome.co.uk>2014-12-13 00:34:36 +0000
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-12-12 18:26:51 -0800
commitc043d02f26bcbfb25179858547794dbced6eafc9 (patch)
treebb1e6b29f354bb98cc2e77f938936f663ed8ca5f
parentb1da9b207ff056dc9bdd015a5deebf3be0945776 (diff)
downloadsubsurface-c043d02f26bcbfb25179858547794dbced6eafc9.tar.gz
Use generated Ids for site lookup in UDDF export.
As with buddies, sites could contain characters which are not valid in Ids. Also, it is very possible to have duplicate site names. This uses an XSL generated id to prevent any issues. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--xslt/uddf-export.xslt12
1 files changed, 6 insertions, 6 deletions
diff --git a/xslt/uddf-export.xslt b/xslt/uddf-export.xslt
index 51513beb5..66220a77e 100644
--- a/xslt/uddf-export.xslt
+++ b/xslt/uddf-export.xslt
@@ -194,12 +194,12 @@
</xsl:choose>
</xsl:template>
- <xsl:key name="location" match="location" use="."/>
+ <xsl:key name="location" match="location" use="./@gps"/>
<xsl:template match="location">
- <xsl:if test="generate-id() = generate-id(key('location', normalize-space(.)))">
+ <xsl:if test="generate-id() = generate-id(key('location', normalize-space(./@gps)))">
<site>
<xsl:attribute name="id">
- <xsl:value-of select="."/>
+ <xsl:value-of select="generate-id()"/>
</xsl:attribute>
<name>
<xsl:value-of select="."/>
@@ -253,13 +253,13 @@
</link>
</xsl:for-each>
</xsl:for-each>
- <xsl:if test="location != ''">
+ <xsl:for-each select="location">
<link>
<xsl:attribute name="ref">
- <xsl:value-of select="location"/>
+ <xsl:value-of select="generate-id(key('location',normalize-space(./@gps)))"/>
</xsl:attribute>
</link>
- </xsl:if>
+ </xsl:for-each>
<xsl:variable name="trimmedweightlist">
<xsl:for-each select="weightsystem">
<weight>