sascha@4083: <?xml version="1.0" encoding="utf-8"?>
sascha@4083: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
sascha@4083: 
sascha@4083:     <xsl:output method="xml"/>
sascha@4083: 
sascha@4083:     <xsl:key name="gauge-name" match="/STATIONEN/STATION" use="@NAME"/>
sascha@4083: 
sascha@4083:     <xsl:template name="lookup-gauge-number">
sascha@4083:         <xsl:param name="name"/>
sascha@4083:         <xsl:param name="number"/>
sascha@4083:         <xsl:variable name="fixed-number">
sascha@4083:             <xsl:for-each select="document('pegelstationen.xml')">
sascha@4083:                 <xsl:value-of select="key('gauge-name', $name)/@NUMMER"/>
sascha@4083:             </xsl:for-each>
sascha@4083:         </xsl:variable>
sascha@4083:         <xsl:choose>
sascha@4083:             <xsl:when test="$fixed-number != ''">
sascha@4083:                 <xsl:value-of select="$fixed-number"/>
sascha@4083:             </xsl:when>
sascha@4083:             <xsl:otherwise>
sascha@4083:                 <xsl:value-of select="$number"/>
sascha@4083:             </xsl:otherwise>
sascha@4083:         </xsl:choose>
sascha@4083:     </xsl:template>
sascha@4083: 
sascha@4083:     <xsl:template match="/DIPSFLYS/STATIONEN/PEGELSTATION">
sascha@4083:         <PEGELSTATION>
sascha@4083:         <xsl:attribute name="NUMMER">
sascha@4083:             <xsl:call-template name="lookup-gauge-number">
sascha@4083:                 <xsl:with-param name="name" select="@NAME"/>
sascha@4083:                 <xsl:with-param name="number" select="@NUMMER"/>
sascha@4083:             </xsl:call-template>
sascha@4083:         </xsl:attribute>
sascha@4083:         <xsl:apply-templates select="@*[local-name() != 'NUMMER']"/>
sascha@4083:         <xsl:apply-templates select="node()"/>
sascha@4083:         </PEGELSTATION>
sascha@4083:     </xsl:template>
sascha@4083: 
sascha@4083:     <xsl:template match="@*|node()">
sascha@4083:        <xsl:copy>
sascha@4083:           <xsl:apply-templates select="@*|node()"/>
sascha@4083:        </xsl:copy>
sascha@4083:     </xsl:template>
sascha@4083: 
sascha@4083: </xsl:stylesheet>