Micha0987: doppeltes xsl:for-each

Beitrag lesen

Hi,

erst einmal danke! Ich scheine mich zu blöd anzustellen... bei mir stehen jetzt in der Tabelle nur noch die Namen und das auch noch doppelt, dreifach... sooft wie sie halt vorkommen... ich raff das irgendwie nicht.

Micha0987

Hi!
Nachdem du

<xsl:for-each select="****">
  fo:table-row
schreibst, scheint es ein umfassendes Element zu geben, z.B.
<kunde><name>hase</name><jahr>2007<jahr><betrag>20.00</betrag></kunde>
<kunde><name>hase</name><jahr>2006<jahr><betrag>880.00</betrag></kunde>

somit dann:
<xsl:for each select="./kunde">
<xsl:sort select = "./name" order="ascending" data-type="text"/>
   fo:table-row
   <xsl:variable name="compare">
     xsl:choose
       <xsl:when test="position()=1"></xsl:when>
       xsl:otherwise<xsl:value-of select="./name"/></xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
   xsl:choose
     <xsl:when test="./name!=$compare">
        <fo:table-cell padding="0.5pt"><xsl:value-of select="./name"/></fo:table-cell>
     </xsl:when>
     xsl:otherwise
        <fo:table-cell padding="0.5pt"> </fo:table-cell>
     </xsl:otherwise>
   </xsl:choose>
   <fo:table-cell padding="0.5pt"><xsl:value-of select="./jahr"/></fo:table-cell>
   <fo:table-cell padding="0.5pt"><xsl:value-of select="./betrag"/></fo:table-cell>
   </fo:table-row>
</xsl:for-each>

Oder kann man "doppelte Einträge" wegblenden?
Nicht, dass ich wüßte...

Grüsse,
Richard