Daniel Thoma: Sortierproblem bei Index

Beitrag lesen

Hallo Holge,

Kann mir nicht ganz vorstellen, dass ich da der einzige bin, eine lösung wäre rekursive template mit dem jeweilige prefix merken, aber elegant wäre es halt mit xsl:sort

Optimal wäre sicher, die Vergleichsfunktion auszutauschen. XSLT 2 bzw. XPath 2 sieht eine Möglichkeit vor, verschiedene Vergleichsmodi für Strings auszuwählen. Allerdings ist der Mechanismus wohl primär für sprachabhängige Vergleiche gedacht und es gibt keinen Weg, da in XSLT selbst einen Vergleich zu definieren. Das könnte höchstens über Mechanismen des XSLT-Prozessors selbst gehen.

Ich sehe zwei Lösungungsansätze:
1. Man versucht, die Versionsnummern irgendwie auf was normal sortierbares durch eine eigene Funktion abzubilden. Also aus "1.1.1.1" -> "001.001.001.001". Das geht ja mit <sort select="funktion(...)"/>
2. Man schreibt eine rekursive Funktion, die nach einer bestimmten Stufe sortiert. Man kann angeben, dass die Sortierung stabil sein soll. Also könnte man die Teilnummern in umgekehrter Reiehnfolge sortieren.

Grüße

Daniel