diff options
author | Martin Long <martin@longhome.co.uk> | 2014-12-13 00:34:36 +0000 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-12-12 18:26:51 -0800 |
commit | c043d02f26bcbfb25179858547794dbced6eafc9 (patch) | |
tree | bb1e6b29f354bb98cc2e77f938936f663ed8ca5f | |
parent | b1da9b207ff056dc9bdd015a5deebf3be0945776 (diff) | |
download | subsurface-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.xslt | 12 |
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> |