Ronny: xsl:if

hi leute,
ich hoffe ihr könnt mir helfen!
ich versuche ein xsl:if-tag innerhalb einer xsl:for each select schleife zu verwenden, aber bei der darstellung im browser kommt immer eine fehlermeldung ... nehme ich das xsl:if - tag heraus ist der fehler weg aber die kommas werden logischerweise nicht wie gewünscht angezeigt.
das script sieht folgendermaßen aus:

<xsl:template match="operands">

<xsl:for-each select="operand">

<xsl:value-of select="type"/>

<xsl:value-of select="name"/>

<xsl:if test="position () != last ()">, </xsl:if>
//nehme ich diese zeile herraus funktioniert es ohne kommas

</xsl:for-each>

</xsl:template>

wo liegt der fehler oder geht das tag in der for each select schleife nicht?
vielen Dank im vorraus
Gruß Ronny

  1. Hallo Ronny,

    <xsl:template match="operands">

    <xsl:for-each select="operand">

    <xsl:value-of select="type"/>

    <xsl:value-of select="name"/>

    <xsl:if test="position () != last ()">, </xsl:if>
    //nehme ich diese zeile herraus funktioniert es ohne kommas

    </xsl:for-each>

    </xsl:template>

    wo liegt der fehler oder geht das tag in der for each select schleife nicht?

    es geht.

    Dein Stylesheet ist so in Ordnung und funktioniert auch mit msxml3.

    Wie lautet denn die Fehlermeldung
    Welchen Parser und XSLT-Prozessor benutzt du denn. Könnte sein, dass der die Leerzeichen in Attributwerten nicht normalisiert. Versuchs also mal mit
    <xsl:if test="position()!=last()">, </xsl:if>

    Gruß
    Franz