Mercurial > dive4elements > river
view etl/contrib/dips2html.xsl @ 8682:5102733c4567
issue1755 Prevent out of bounds access when there is no data
If there is no data it will default to the complete river.
In the following overview you can then see that there is no
data. Better then a "Error changing state".
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 13 Apr 2015 11:03:00 +0200 |
parents | 5aa05a7a34b7 |
children |
line wrap: on
line source
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:html="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="html"> <xsl:output method="html"/> <xsl:template name="out"> <xsl:param name="value"/> <xsl:choose> <xsl:when test="$value = ''">-/-</xsl:when> <xsl:otherwise> <xsl:value-of select="$value"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="PEGELSTATION"> <tr> <td> <xsl:value-of select="@NAME"/> </td> <td> <xsl:value-of select="@NUMMER"/> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@HOCHWERT"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@TK_BLATT"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@BETREIBER"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@GEOBREITE"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@GEOLAENGE"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@GEWAESSER"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@GUELTIGAB"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@LAGESTATUS"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@RECHTSWERT"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@ABLESUNGBIS"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@ABLESUNGSEIT"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@STATIONIERUNG"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@EINGERICHTETAM"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@EINZUGSGEBIET_AEO"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@GEBIETSKENNZIFFER"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@KILOMETRIERUNG_AB"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@LAGE_AM_GEWAESSER"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@ENTFERNUNGMUENDUNG"/> </xsl:call-template> </td> <td> <xsl:call-template name="out"> <xsl:with-param name="value" select="@KILOMETRIERUNGSRICHTUNG"/> </xsl:call-template> </td> </tr> <xsl:if test="string-length(@BESCHREIBUNG) > 0"> <tr> <td/> <td colspan="21"> <xsl:value-of select="@BESCHREIBUNG"/> </td> </tr> </xsl:if> </xsl:template> <xsl:template match="/"> <html> <head> <title>DiPs</title> </head> <body> <table border="1" cellspacing="0" width="50%"> <tr> <th>Name</th> <th>Nummer</th> <th>Hochwert</th> <th>TK-Blatt</th> <th>Betreiber</th> <th>Geo-Breite</th> <th>Geo-Länge</th> <th>Gewässer</th> <th>Gültig ab</th> <th>Lagestatus</th> <th>Rechtswert</th> <th>Ablesung seit</th> <th>Ablesung bis</th> <th>Stationierung</th> <th>Eingerichtet am</th> <th>Einzugsgebiet AEO</th> <th>Gebietskennziffer</th> <th>Kilometrierung ab</th> <th>Lage am Gewässer</th> <th>Entfernung zu Mündung</th> <th>Kilometrierungsrichtung</th> </tr> <xsl:apply-templates select="/DIPSFLYS/STATIONEN"/> </table> </body> </html> </xsl:template> <xsl:template match="text()"/> </xsl:stylesheet>