Hallo,
<xsl:template name="minimum_x">
<xsl:param name="Knoten" /><xsl:with-param name="Knoten" select="$Knoten[position() != 1]" />
<xsl:with-param name="min_temp"
select="substring-before($Knoten[1],'
')"/>
Was mit jetzt aufgefallen ist (und ich weiss jetzt nicht ob das nur hier im Forum so steht oder bei dir auch)
Im substring-before($Knoten[1],'') hast du kein Leerzeichen im zweiten Argument, also so: substring-before($Knoten[1],' ')
(das mit <xsl:with-param name="nodes"> statt "Knoten" ist wohl ein Tippfehler?))
Wenn ich jetzt das Template:
<xsl:template name="minimum_x">
<xsl:param name="Knoten" />
<xsl:param name="min_temp" select="0"/>
<xsl:if 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 < .">
<xsl:value-of select="$min-soweit" />
</xsl:when>
xsl:otherwise
<xsl:value-of select="." />
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
auf
<data>
<testdata>
<gml>3569875,45 5896534,23</gml>
<gml>3552365,56 583256975,56</gml>
</testdata>
</data>
mit
<xsl:call-template name="minimum_x">
<xsl:with-param name="Knoten" select="/data/testdata/gml"/>
</xsl:call-template>
anwende, bekomme ich als Ausgabe:
3569875,45 5896534,23
3552365,56 583256975,56
Was mir eigentlich unklar ist, was du in der Variable "min-soweit" erreichen möchtest.
Außerdem, du muss bedenken, dass ein Komma als Dezimaltrenner in XSLT nicht funktioniert. Deshalb wird ein "$min-soweit < ." nie wahr werden.
Grüße
Thomas