Hi,
<xsl:key name="firstletter" match="elem" use="translate(substring(@name, 1, 1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
<xsl:for-each select="elem[generate-id() = generate-id(key('firstletter', translate(substring(@name, 1, 1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'))[1])]">
Nach noch etwas Nachdenken:
Wenn ich das richtig sehe, funktioniert das bei der Buchstabenliste, weil bei mehreren Elementen, deren name-Attribut dasselbe ersten Zeichen haben, vollkommen egal ist, von welchem dieser mehreren Elemente ich das erste Zeichen verwende, da das erste Zeichen ja bei allen gleich ist.
Es wird immer das vom XML-Dokument-Reihenfolge-ersten Element benutzt, aber das unterscheidet sich ja nicht von den anderen.
Und das hilft natürlich bei den id-Attributen nicht, denn hier unterscheiden sich die Elemente, da ja nicht nur das erste Zeichen des name-Attributs verwendet wird - hier bräuchte ich das erste in Sortierreihenfolge mit einem bestimmten ersten Zeichen, und das kann ich wohl nicht rausfinden...
cu,
Andreas
MudGuard? Siehe http://www.Mud-Guard.de/