<xsl:sort>-Element

Gibt die Sortierkrierien für eine von <xsl:for-each> oder <xsl:apply-templates> ausgewählte Knotenliste an.

<xsl:sort
  select = string-expression 
  lang = { nmtoken }
  data-type = { "text" | "number" | QName }
  order = { "ascending" | "descending" }
  case-order = { "upper-first" | "lower-first" }
  /> 

Attribute

  • select
    Der Sortierschlüssel für den Knoten. Ein Ausdruck, der mit dem angegebenen Knoten als aktuellem Knoten und mit der vollständigen Liste der Knoten, die ohne Reihenfolge als aktuelle Knotenliste verarbeitet werden, ausgewertet wird. Das resultierende Objekt wird in eine Zeichenfolge konvertiert, die als Sortierschlüssel für diesen Knoten verwendet wird. Der Standardwert für das select-Attribut ist ".". Dadurch wird der Zeichenfolgenwert des aktuellen Knotens als Sortierschlüssel verwendet.
  • lang
    Das Alphabet der entsprechenden Sprache bestimmt die Sortierreihenfolge. Wenn für lang kein Wert angegeben ist, wird die Sprache der Systemumgebung verwendet.
  • data-type
    Der Datentyp der Zeichenfolgen. In der folgenden Tabelle sind die Werte aufgelistet, die für das data-type-Attribut zulässig sind.

    text

    Gibt an, dass die Sortierschlüssel alphabetisch sortiert werden.

    number

    Gibt an, dass die Sortierschlüssel in Zahlen konvertiert werden und dann nach dem numerischen Wert sortiert werden. Der Sortierschlüssel wird in eine Zahl konvertiert.

    QName

    Erweitert zu einem erweiterten Namen. Mit dem erweiterten Namen wird der Datentyp angegeben.

    Wenn kein Datentyp angegeben ist, wird der Typ des Ausdrucks als Standard verwendet.

  • order
    Die Sortierreihenfolge für die Zeichenfolgen. Der Standardwert ist "ascending".
  • case-order
    Die Reihenfolge, in der Zeichenfolgen nach Großschreibung sortiert werden. Der Standardwert ist "upper-first". Damit werden zuerst Zeichenfolgen sortiert, die mit einem Großbuchstaben beginnen.

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

xsl:apply-templates, xsl:for-each

Untergeordnete Elemente

(Keine untergeordneten Elemente)

Hinweise

Bei diesem Sortieralgorithmus werden Bindestriche (-) beim Sortieren ignoriert. Hierbei handelt es sich um die "Wortsortierungsmethode", d. h., Wörter wie "co-op" werden genau wie "coop" sortiert.

Daraus wird beispielsweise die folgende Sortierreihenfolge erzeugt:

30a-allow

30-allow

Bei der Sortierung werden diese Einträge wie folgt behandelt:

30aallow

30allow