Mercurial > dive4elements > river
view etl/doc/repair.xsl @ 8748:36d7bda0b47a
(issue1788) Fix area split if there are no NaN's in the data
The split algorithmn splits in a way that it always creates
at least two datasets. One before the NaN, one after the NaN.
This is broken in case the dataset does not contain any NaN
value as it resulted in two identical datasets. This changed
the display and resulted in a broken area calculation.
I've also added some commented out debug code that was helpful
tracking down this problem.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 08 Jun 2015 16:53:54 +0200 |
parents | 5aa05a7a34b7 |
children |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml"/> <xsl:key name="gauge-name" match="/STATIONEN/STATION" use="@NAME"/> <xsl:template name="lookup-gauge-number"> <xsl:param name="name"/> <xsl:param name="number"/> <xsl:variable name="fixed-number"> <xsl:for-each select="document('pegelstationen.xml')"> <xsl:value-of select="key('gauge-name', $name)/@NUMMER"/> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="$fixed-number != ''"> <xsl:value-of select="$fixed-number"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$number"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="/DIPSFLYS/STATIONEN/PEGELSTATION"> <PEGELSTATION> <xsl:attribute name="NUMMER"> <xsl:call-template name="lookup-gauge-number"> <xsl:with-param name="name" select="@NAME"/> <xsl:with-param name="number" select="@NUMMER"/> </xsl:call-template> </xsl:attribute> <xsl:apply-templates select="@*[local-name() != 'NUMMER']"/> <xsl:apply-templates select="node()"/> </PEGELSTATION> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>