LC_COLLATE Kategorie für das Quellendateiformat der Ländereinstellungsdefinition
Zweck
Definiert Sortierungsinformationen für Zeichen oder Zeichenfolgen.
Beschreibung
Ein Sortierfolgeelement ist die Vergleichseinheit für die Sortierfolge. Ein Sortierfolgeelement kann ein Zeichen oder eine Zeichenfolge sein. Jedes Sortierfolgeelement in der Ländereinstellung verfügt über eine Gruppe von Gewichtungen, die bestimmen, ob das Sortierfolgeelement vor, gleich oder nach den anderen Sortierfolgeelementen in der Ländereinstellung sortiert. Jedem Sortierfolgeelement werden durch den Befehl Lokale Definition Sortierungsgewichtungen zugewiesen, wenn die Quellendatei für die Ländereinstellungsdefinition konvertiert wird. Diese Sortierwertigkeiten werden dann von Anwendungsprogrammen verwendet, die Zeichenfolgen vergleichen.
Der Vergleich von Zeichenfolgen wird durchgeführt, indem die Sortierfolgegewichtungen der einzelnen Zeichen in der Zeichenfolge verglichen werden, bis entweder eine Differenz gefunden wird oder die Zeichenfolgen als gleich ermittelt werden. Dieser Vergleich kann mehrmals durchgeführt werden, wenn die Ländereinstellung mehrere Sortierfolgen definiert. In der französischen Ländereinstellung werden die Zeichenfolgen beispielsweise mithilfe eines primären Satzes von Sortiergewichtungen verglichen. Wenn sie auf der Grundlage dieses Vergleichs gleich sind, werden sie erneut unter Verwendung eines sekundären Satzes von Sortiergewichtungen verglichen. Einem Sortierfolgeelement ist eine Gruppe von Sortierfolgegewichtungen zugeordnet, die der Anzahl der Sortierfolgen entspricht, die für die Ländereinstellung definiert sind.
Jedes in der Datei Charmap definierte Zeichen (oder jedes Zeichen im portierbaren Zeichensatz, wenn keine Datei Charmap angegeben ist) ist selbst ein Sortierfolgeelement. Weitere Sortierelemente können mit der Anweisung Sortierelement definiert werden. Die Syntax ist folgende:
Sortierelement Zeichensymbol von Zeichenfolge
Die Kategorie LC_COLLATE beginnt mit dem Schlüsselwort LC_COLLATE und endet mit dem Schlüsselwort LC_COLLATE ENDE .
Die folgenden Schlüsselwörter werden in der Kategorie LC_COLLATE erkannt:
| Element | Beschreibung |
|---|---|
| Kopieren | Die Anweisung Kopie gibt den Namen einer vorhandenen Ländereinstellung an, die als Definition dieser Kategorie verwendet werden soll. Wenn eine Anweisung Kopie in der Datei enthalten ist, kann kein anderes Schlüsselwort angegeben werden. |
| Sortierelement | Die Anweisung Sortierelement gibt Sortierelemente mit mehreren Zeichen an. |
Die Syntax für die Anweisung Sortierelement lautet wie folgt:
collating-element <Sortiersymbol> von <Zeichenfolge>
Der Wert Sortiersymbol definiert ein Sortierfolgeelement, bei dem es sich um eine Zeichenfolge aus einem oder mehreren Zeichen als einzelnes Sortierfolgeelement handelt. Der Wert Sortiersymbol darf keinen symbolischen Namen in der aktuellen Datei Charmap oder einen anderen symbolischen Namen, der in dieser Sortierungsdefinition definiert ist, duplizieren. Der Wert Zeichenfolge gibt eine Zeichenfolge mit mindestens zwei Zeichen an, die den Wert Sortiersymbol definieren. Es folgen Beispiele für die Syntax der Anweisung Sortierelement :
collating-element <L> von <C><H> collating-element <E-Akut> von <Akut><E> collating-element <11> von <1><1>
Ein Sortiersymbol -Wert, der von der Anweisung Sortierelement definiert wird, wird nur mit der Kategorie LC_COLLATE erkannt.
| Element | Beschreibung |
|---|---|
| Sortiersymbol | Die Anweisung Sortiersymbol gibt Sortiersymbole für die Verwendung in Sortierfolgenanweisungen an. |
Die Syntax für die Anweisung Sortiersymbol lautet wie folgt:
collating-symbol <Sortiersymbol>
Der Wert Sortiersymbol darf keinen symbolischen Namen in der aktuellen Datei Charmap oder einen anderen symbolischen Namen, der in dieser Sortierungsdefinition definiert ist, duplizieren. Es folgen Beispiele für die Syntax der Anweisung Sortiersymbol :
collating-symbol <GROSSSCHREIBUNG> collating-symbol <HOCH>
Ein durch die Anweisung Sortiersymbol definierter Sortiersymbol -Wert wird nur innerhalb der Kategorie LC_COLLATE erkannt.
| Element | Beschreibung |
|---|---|
| Bestellstart | Auf die Bestellstart -Anweisung müssen eine oder mehrere Sortierfolgeanweisungen folgen, die Sortierfolgegewichtungen für Sortierelemente zuordnen. Diese Anweisung ist obligatorisch. |
Die Syntax für die Anweisung Bestellstart lautet wie folgt:
order_start <Sortierregeln>, <Sortierregeln>,...<Sortierregeln> Sortierfolge, Anweisungen Bestellende
Die <Sortierregeln> -Anweisungen haben folgende Syntax:
Schlüsselwort, Schlüsselwort,...Schlüsselwort; Schlüsselwort, Schlüsselwort,...Schlüsselwort
Dabei ist Schlüsselwort eines der Schlüsselwörter Vorwärts, Rückwärtsund Position.
Die Anweisungen Sortierregeln sind optional. Falls vorhanden, definieren sie die Regeln, die beim Zeichenfolgevergleich angewendet werden sollen. Die Anzahl der angegebenen Sortierregeln -Anweisungen definiert die Anzahl der Gewichtungen, die jedem Sortierfolgeelement zugeordnet werden (d. h. die Anzahl der Sortierfolgen in der Ländereinstellung). Wenn keine Sortierregeln -Anweisungen vorhanden sind, wird ein Schlüsselwort Vorwärts angenommen und Vergleiche werden auf Zeichenbasis und nicht auf Zeichenfolgebasis durchgeführt. Falls vorhanden, gilt die erste Anweisung Sortierregeln beim Vergleich von Zeichenfolgen mit primärer Wertigkeit, die zweite beim Vergleich von Zeichenfolgen mit sekundärer Wertigkeit usw. Die einzelnen Sortierregeln -Anweisungen werden durch ein Semikolon (;) getrennt. Eine Sortierregeln -Anweisung besteht aus einem oder mehreren durch Kommas getrennten Schlüsselwörtern. Die folgenden Schlüsselwörter werden unterstützt:
| Element | Beschreibung |
|---|---|
| vor | Gibt an, dass Sortierfolgengewichtungsvergleiche vom Anfang einer Zeichenfolge bis zum Ende der Zeichenfolge fortgesetzt werden. |
| Zurück | Gibt an, dass der Vergleich der Sortierfolgegewichtung vom Ende einer Zeichenfolge bis zum Anfang der Zeichenfolge fortgesetzt wird. |
| Position | Gibt an, dass Sortierfolgengewichtungsvergleiche die relative Position von Elementen in der Zeichenfolge berücksichtigen, die nicht dem Sondersymbol IGNORIERENunterliegt. Das heißt, wenn Zeichenfolgen gleich verglichen werden, wird das Element mit dem kürzesten Abstand vom Ausgangspunkt der Zeichenfolge zuerst sortiert. |
Die Schlüsselwörter Vorwärts und Rückwärts schließen sich gegenseitig aus. Das folgende Beispiel zeigt die Syntax für die <Sortierregeln> -Anweisungen:
Bestellstart vorwärts; rückwärts, Position
Die optionalen Operanden für jedes Sortierfolgeelement werden verwendet, um die primäre, sekundäre oder nachfolgende Wertigkeit für das Sortierfolgeelement zu definieren. Das Sondersymbol IGNORIEREN wird verwendet, um ein Sortierfolgeelement anzugeben, das beim Vergleich von Zeichenfolgen ignoriert werden soll.
Eine Sortierfolge mit dem Schlüsselwort Auslassungspunkte auf der linken Seite führt dazu, dass die Sortierfolgeelementliste auf der rechten Seite auf jedes Zeichen mit einer Codierung angewendet wird, die numerisch zwischen dem Zeichen auf der linken Seite der vorhergehenden Anweisung und dem Zeichen auf der linken Seite der folgenden Anweisung liegt. Wenn der Auslassungspunkte in der ersten Anweisung auftritt, wird er so interpretiert, als ob die vorhergehende Zeile das Zeichen NUL angegeben hätte. (Das Zeichen NUL ist ein Zeichen, bei dem alle Bits auf 0 gesetzt sind.) Wenn die Anweisung Auslassungspunkte in der letzten Anweisung vorkommt, wird sie so interpretiert, als ob die folgende Zeile den größten codierten Wert angibt.
Ein Schlüsselwort Auslassungspunkte anstelle von Sortierfolgeelementliste gibt an, dass die Gewichtungen für die Zeichen im angegebenen Bereich in numerisch steigender Reihenfolge ab der Gewichtung für das Zeichensymbol auf der linken Seite der vorhergehenden Anweisung zugeordnet werden sollen.
Alle Zeichen im Zeichensatz müssen in der Sortierfolge angegeben werden, entweder explizit oder implizit unter Verwendung des Sondersymbols NICHT definiert . Das Sondersymbol NICHT definiert enthält alle Werte für codierte Zeichensätze, die nicht explizit angegeben wurden, oder ein Symbol mit Auslassungspunkten. Diese Zeichen werden in der Reihenfolge der Zeichensortierung an der durch das Sondersymbol NICHT definiert angegebenen Stelle in der Reihenfolge ihrer Zeichensatzwerte eingefügt. Wenn kein NICHT definiert -Sondersymbol vorhanden ist und die Sortierfolge nicht alle Sortierfolgeelemente aus dem codierten Zeichensatz angibt, wird eine Warnung ausgegeben, und alle nicht definierten Zeichen werden am Ende der Sortierfolge für Zeichen platziert.
Beispiele
Das folgende Beispiel zeigt eine Sortierfolgeanweisung in der Quellendateikategorie der LC_COLLATE -Ländereinstellungsdefinition:
order_start forward;backward
UNDEFINED IGNORE;IGNORE
<LOW> <LOW>;<space>
... <LOW>;...
<a> <a>;<a>
<a-acute> <a>;<a-acute>
<a-grave> <a>;<a-grave>
<A> <a>;<A>
<A-acute> <a>;<A-acute>
<A-grave> <a>;<A-grave>
<ch> <ch>;<ch>
<Ch> <ch>;<Ch>
<s> <s>;<s>
<ss> <s><s>;<s><s>
<eszet> <s><s>;<eszet><eszet>
... <HIGH>;...
<HIGH>
order_endDieses Beispiel wird wie folgt interpretiert:
- Das Sondersymbol NICHT definiert gibt an, dass alle Zeichen, die nicht in der Definition angegeben sind (entweder explizit oder durch das Auslassungssymbol) für Sortierzwecke ignoriert werden.
- Alle Sortierfolgeelemente zwischen<space>und<a>haben dieselbe primäre Äquivalenzklasse und individuelle sekundäre Gewichtungen auf der Basis ihrer codierten Zeichensatzwerte.
- Alle Zeichen auf der Basis von Groß-oder Kleinbuchstabenagehören zu derselben primären Äquivalenzklasse.
- Der<c><h>Das Sortierfolgeelement mit mehreren Zeichen wird durch die<ch>Sortiersymbol und gehört zu derselben primären Äquivalenzklasse wie die<C><h>Sortierelement mit mehreren Zeichen.
- Der<eszet>Zeichen wird als<s><s>Zeichenfolge. Das heißt, eine<eszet>wird vor dem Vergleich auf zwei Zeichen erweitert.
Dateien
| Element | Beschreibung |
|---|---|
| /usr/lib/nls/loc/* | Gibt Quellendateien für Ländereinstellungsdefinitionen für unterstützte Ländereinstellungen an. |
| / usr/lib/nls/Zeichensatz/* | Gibt die Quellendateien für Zeichensatzbeschreibungen (Charmap) für unterstützte Ländereinstellungen an. |