Markus B.: Problem beim auswählen der Werte aus der XML

Beitrag lesen

Der Code erklärt alles.

Bei der AUsgabe steht der Fehler

Bitte nur die AUsgabewerte beachten, ich weiss dass dies so bisher noch falsch ist.

XML

<data>
    <Intervall name="30.05.2003">
        <value>100</value>
        <value>124</value>
        <value>87</value>
    </Intervall>
    <Intervall name="30.09.2004">
        <value>94</value>
        <value>151</value>
        <value>143</value>
    </Intervall>
    <Intervall name="30.01.2005">
        <value>168</value>
        <value>170</value>
        <value>203</value>
    </Intervall>
</data>

XSL

<xsl:template match="Intervall" name="Temp1">
        <xsl:call-template name="Temp2">
            <xsl:with-param name="counter">1</xsl:with-param>
        </xsl:call-template>
    </xsl:template>

<xsl:template name="Temp2">
      <xsl:param name="counter"></xsl:param>
        <xsl:param name="y1">
            <xsl:for-each select="value">
            <xsl:if test="position()=$counter">
                <xsl:value-of select="."/></xsl:if>
            </xsl:for-each>
        </xsl:param>
            <xsl:param name="y2">
                <xsl:for-each select="value">
                    <xsl:if test="position()=$counter+1">
                        <xsl:value-of select="."/></xsl:if>
                </xsl:for-each>
       </xsl:param>
            <text  x1="{$y1}" x2="{$y2}"/>

<xsl:if test="$counter &lt;3">

<xsl:call-template name="Temp2">
                <xsl:with-param name="counter" select="$counter+1"></xsl:with-param>
            </xsl:call-template>
            </xsl:if>

</xsl:template>

AUSGABE

<text x1="100" x2="124"/>
   <text x1="124" x2="87"/>
   <text x1="87" x2=""/> <<<<<<<<<<<< Hier soll eig. 94 stehen
   <text x1="94" x2="151"/>
   <text x1="151" x2="143"/>
   <text x1="143" x2=""/><<<<<<<<<<<<< Hier soll eig. 168 stehen
   <text x1="168" x2="170"/>
   <text x1="170" x2="203"/>
   <text x1="203" x2=""/><<<<<<<<<<<<< Das könnt ihr vernachlässigen, weil .                                      hier ja ende ist.