ThomasM: Sortierproblem bei Index

Beitrag lesen

Nachtrag zu:

Die XSL-Codestelle ... 1 to 4 ... bezieht sich auf die Anzahl der Stellen pro Segment, hier also bis 4 Stellen. Diese Zahl könnte auch noch dynamisch ermittelt werden ...

... hier in Form der Variable $s:

<xsl:variable name="n" select="fn:max(for $k in knoten return fn:count(fn:tokenize($k,'\.')))"/>  
<xsl:variable name="s" select="fn:max(for $j in 1 to $n return for $k in knoten return fn:string-length(fn:tokenize($k,'\.')[$j]))"/>  
  
<xsl:apply-templates select="knoten">  
  <xsl:sort select="fn:number(fn:string-join(for $i in (1 to $n) return fn:concat(fn:string-join(for $i in (1 to $s - fn:string-length(fn:tokenize(.,'\.')[$i])) return '0',''), fn:tokenize(.,'\.')[$i]),''))" data-type="number" order="ascending"/>  
</xsl:apply-templates>

Grüße,
Thomas