einUfo: Summe aus mehreren XMLs mit XSL

Meine Samstag Nacht:

Ich versuche aus mehreren .xml Dokumenten mittels xsl die
Anzahl der jeweiligen MEMBER herauszuholen (funktioniert auch) und dann
mit diesen Template eine Summer der MEMBERs zu erzeugen.
Parameter T bring die Anzahl der .xml (Element XML-SOURCE)
Parameter E soll die aktuelle Position weiterzählen

<xsl:template name="Summe">
    <xsl:param name="T"/>
    <xsl:param name="E" select="1"/>
    <xsl:param name="Result" select="0"/>
    <xsl:variable name="GetXML" select="XML-SOURCE[$E]"/>
    <xsl:variable name="tz" select="count(document(concat('../', $GetXML))//MEMBER)"/>
       xsl:choose
        <xsl:when test="$E&gt;$T">
        <xsl:value-of select="$Result"/></xsl:when>
        xsl:otherwise
        <xsl:call-template name="Summe">
            <xsl:with-param name="E" select="E+1"/>
            <xsl:with-param name="Result" select="$Result+count(document(concat('../', $GetXML))//MEMBER)"/>
            </xsl:call-template>
   </xsl:otherwise>
   </xsl:choose>
</xsl:template>

Für jede Hilfe danke ich im vorraus

einUfo

  1. Hallo,

    <xsl:with-param name="E" select="E+1"/>

    ^
                                                    $E

    MfG, Thomas

    1. Hallo,

      <xsl:with-param name="E" select="E+1"/>
                                                      ^
                                                      $E

      MfG, Thomas

      Danke, war nur bei copy'n paste passiert. Das Problem war die Variable mit der Anzahl der XML-SOURCE Elemente (hier jetzt Anz2), die musste global definiert werden. So funktionierts:

      <xsl:variable name="Anz2" select="count(//XML-SOURCE)"/>

      <xsl:template name="Summe">
      <xsl:param name="Pos" select="1"/>
      <xsl:param name="Result" select="0"/>
      <xsl:param name="GetXML" select="XML-SOURCE[$Pos]"/>
      xsl:choose
      <xsl:when test="$Pos &gt; $Anz2">
      Summe: <xsl:value-of select="$Result"/><br/>
      </xsl:when>
      xsl:otherwise
      <xsl:call-template name="Summe">
      <xsl:with-param name="Pos" select="$Pos+1"/>
      <xsl:with-param name="Result" select="$Result+count(document(concat('../', $GetXML))//MEMBER)"/>
      </xsl:call-template>
      </xsl:otherwise>
      </xsl:choose>
      </xsl:template>

      ufo