Tach c300,
Problem ist, es existieren rund 60 verschiedene Fächer und ich möchte nicht für jedes Fach ein separates Template erstellen. Schliesslich sollte es auch ohne anpassungen funktionieren, falls neue Fächer hinzukommen würde.
Hier noch eine kürzere Variante, bei der keine Vorgabe der Fächer mehr nötig ist:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1"/>
<xsl:key name="faecher" match="fach" use="text()"/>
<xsl:template match="/">
<html>
<head>
<title>XSLT-Test</title>
</head>
<body>
<xsl:for-each select="//fach[not(text()=preceding::fach/text())]">
<xsl:variable name="fach" select="text()"/>
<p><xsl:value-of select="$fach"/>:<br />
<xsl:for-each select="key('faecher',$fach)">
<xsl:value-of select="../name/text()"/><br />
</xsl:for-each>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Man liest sich,
svg4you