Andi: Rekursives Template, Minimum bestimmen

Beitrag lesen

Hallo,

ich versuche gerade GML3 Modelle mit XSLT umzuwandeln.
Ich habe ein Problem mit der Ermittlung eines Mittelwertes, was eigentlich nicht so schwer sein sollte. Meine Daten sehen wie folgt aus:

<gml>3569875,45 5896534,23</gml>
<gml>3552365,56 583256975,56</gml>

Nun möchte ich den Mittelwert der Koordinaten vor dem Leerzeichen und den Mittelwert für Koordinaten nach dem Leerzeichen. Ich habe es mit einem rekursiven Template versucht und die Knoten formatiert, dass ich nur einen Teilstring auslese. Verwendet habe ich die substring- before. Allerdings war meine Ausgabe leer.

Mein xslt- stylesheet sieht so aus:

<xsl:template name="minimum_x">
  <xsl:param name="Knoten" />
  <xsl:param name="min_temp" select="0"/>
     xsl:choose
        <xsl:when test="$Knoten" >
         <xsl:variable name="min-soweit">
           <xsl:call-template name="minimum_x">
             <xsl:with-param name="Knoten" select="$Knoten[position() != 1]" />
             <xsl:with-param name="min_temp"
select="substring-before($Knoten[1],'
')"/>
          </xsl:call-template>
        </xsl:variable>
        xsl:choose
          <xsl:when test="$min-soweit &lt; .">
            <xsl:value-of select="$min-soweit" />
          </xsl:when>
          xsl:otherwise
            <xsl:value-of select="." />
          </xsl:otherwise>
        </xsl:choose>
     </xsl:when>
  </xsl:choose>
</xsl:template>

Das Template rufe ich über call-template mit Parametern auf.  Für andere Berechnungen bekomme ich Ergebnisse, nur bei der Verwendung der Substring fUnktion bekomme ich eine leere Ausgabe.

Beste Grüße

andi