view etl/doc/repair.xsl @ 8578:4eb1a3c71579

(issue1753) Implement PDF export of SQ Measurement data. The SQRelationExporter now consists of two reports (to avoid subreport woes). The old SQReleation PDF only takes the Page count of the Measurement attachment as argument to correctly print the page numbers. Otherwise it is unchanged. The new SQMeasurements report lists the measured data points on which the calculation was based.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 16 Mar 2015 11:35:19 +0100
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>

http://dive4elements.wald.intevation.org