Steffi: for each und xslfo

Beitrag lesen

Hallo, habe ein Problem mit for each.
Ich würde gerne eine Bücherliste erstellen, in der natürlich mehrere Bücher vorhanden sein sollen.
Ich bekomme es aber nicht hin, dass mehrere angezeigt werden.
Beim folgenden Stylesheet werden nur die isbn nummern (also das letzte element) angezeigt. Alles andere, auch der Text, wird ignoriert.
Kann mir jemand helfen? Schonmal danke im Voraus.

hier ein Ausschnitt vom stylesheet:

<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="68mm"/>
<fo:table-column column-width="68mm"/>
  fo:table-body
 fo:table-row
   <fo:table-cell font-weight="bold">
        fo:blockTitel</fo:block>
   </fo:table-cell>
   <fo:table-cell font-weight="bold">
      fo:blockAutor</fo:block>
    </fo:table-cell>
   <fo:table-cell font-weight="bold">
      fo:blockISBN</fo:block>
   </fo:table-cell>
 </fo:table-row>

<!-- Zweite Reihe -->
       fo:table-row
         fo:table-cell
     fo:block
       <xsl:template match="buch">
         <xsl:for-each select="titel">
           <xsl:value-of select="." />
         </xsl:for-each>
       </xsl:template>           </fo:block>
         </fo:table-cell>

fo:table-cell
 fo:block
   <xsl:template match="buch">
     <xsl:for-each select="autor">
       <xsl:value-of select="." />
     </xsl:for-each>
   </xsl:template>
        </fo:block>
      </fo:table-cell>

fo:table-cell
        fo:block
   <xsl:template match="buch">
     <xsl:for-each select="isbn">
       <xsl:value-of select="." />
     </xsl:for-each>
   </xsl:template>
 </fo:block>
      </fo:table-cell>
    </fo:table-row>
  </fo:table-body>
</fo:table>

Das xml file dazu sieht so aus:

<buecher>
   <buch>
     <titel>...</titel>
     <autor>...</autor>
     <isbn>...</isbn>
   </buch>

...

</buecher>