Hallo,
ich möchte eine Bücherliste in XML per XSL ausgeben und dabei sortieren. So sieht die Liste in etwa aus:
Es gibt also zu jedem Buch einen Titel und einen Autor. Ich möchte diese Liste nun sortiert nach Autor und Titel ausgeben.
<fo:flow flow-name="xsl-region-body">
<xsl:apply-templates select="buchbestand"/>
</fo:flow><xsl:template match="buchbestand">
<xsl:apply-templates select="autor">
<xsl:apply-templates select="titel">
</xsl:template>
Wie binde ich nun xsl:sort so ein, dass nach Autor und nach Titel sortiert wird?
Willst du eine Liste oder zwei Listen?
Dein Template (<xsl:template match="buchbestand">) hat nicht viel Sinn, denn damit erhältst du zuerst alle Autoren und dann alle Titel, es sei denn es ist so beabsichtigt.
Außerdem ist es fehlerhaft (apply-templates sind nicht abgeschlossen), so dass ich jetzt nicht weiss, wie dein wirklicher Code aussieht.
Wie auch immer: du kanns auch im <apply-templates> <sort> verwenden und das auch mehrfach.
<xsl:apply-templates select="....">
<xsl:sort select="...." /> --> erstes Sortierkriterium
<xsl:sort select="...." /> --> zweites Sortierkriterium
etc.
</xsl:apply-templates>
Grüße
Thomas