Thomas J.S.: Münch-Methode, for-each schachteln?

Beitrag lesen

Hallo,

Hallo, ich habe ein Problem mit der Münch Methode. Ich möchte Buchtitel nach Ihren Genres geordnet ausgeben, dabei will ich aber keine doppelten Genres haben. Deshalb habe ich das mit der Münchmethode gelöst.
Nun stehe ich vor dem Problem, dass ich ja

A
Autor

B
2.Autor

haben möchte und nicht

A
B
Autor
2.Autor

Dazu müßte ich nach meinem Wissen die for-each Schleifen schachteln. Dabei kommt aber immer eine Fehlmeldung, dass der Table child elemente fehlen...wenn ich die for-each Schleifen hintereinander schreibe, funktioniert es einwandfrei!

Weiß jemand eine Lösung für das Problem?

<xsl:for-each select="buch[generate-id(.) = generate-id(
    key('first_letter_autor', substring(autor, 1, 1))[1])]">
   <xsl:sort select="substring(autor, 1, 1)" data-type="text" order="ascending"/>
   fo:block
    <xsl:value-of select="substring(autor, 1, 1)"/>
   </fo:block>

</xsl:for-each>

<xsl:for-each select="buch[generate-id(.) = generate-id(key('first_letter_autor', substring(autor, 1, 1))[1])]">
      <xsl:sort select="substring(autor, 1, 1)" data-type="text" order="ascending"/>
      fo:block
       <xsl:value-of select="substring(autor, 1, 1)"/>
      </fo:block>
      <xsl:for-each select="key('first_letter_autor', substring(autor, 1, 1))">
       fo:block
        <xsl:value-of select="autor"/>
       </fo:block>
      </xsl:for-each>
     </xsl:for-each>

liefert:
         fo:blockH</fo:block>
         fo:blockHofmann Corinne</fo:block>
         fo:blockK</fo:block>
         fo:blockKing Stephen</fo:block>
         fo:blockKing Stephen</fo:block>
         fo:blockKing Stephen</fo:block>

Grüße
Thomas