Beispiel: Sortieren nach mehreren Sortierschlüsseln

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  SPS-Datei: Komplexe Funktionen > Sortieren >

Beispiel: Sortieren nach mehreren Sortierschlüsseln

Schritt-für-Schritt-Beispiel

In dem einfachen Beispiel unten (zu finden im Ordner (Eigene) Dateien, C:\Documents and Settings\<username>\My Documents\Altova\StyleVision2019\StyleVisionExamples\Tutorials\Sorting\SortingOnTwoTextKeys.sps) werden die Mitglieder eines Teams in einer Tabelle aufgelistet. Jedes Mitglied wird mit dem Vornamen, Nachnamen und der E-Mail-Adresse in einer Tabellenzeile aufgelistet. Angenommen, wir wollen die Liste der Mitglieder in alphabetischer Reihenfolge sortieren, zuerst nach Nachnamen und anschließend nach Vornamen. Dies geschieht folgendermaßen:

 

Wenn die Liste nicht sortiert ist, entspricht die Reihenfolge der Ausgabe der Reihenfolge, in der die member Elemente im XML-Dokument aufgelistet sind (Abbildung unten,  welche die HTML-Ausgabe ist).

 

SS_Sort_UnsortedHTML

 

Klicken Sie in der Design-Ansicht mit der rechten Maustaste auf das member Element (erscheint in der Abbildung unten blau markiert) und wählen Sie im Kontextmenü den Befehl Ausgabe sortieren..

 

SS_Sort_SelectElementDes

 

Daraufhin erscheint das Dialogfeld "Sortierreihenfolge der Ausgabe definieren" (Abbildung unten). Beachten Sie, dass das für die Sortierung ausgewählte Element member unter dem Eintrag "Nodes sortieren" angegeben ist. Dieser Node ist auch der Kontext-Node für XPath-Ausdrücke zur Auswahl des Sortierschlüssels. Klicken Sie auf die Schaltfläche "Zeile hinzufügen" (links in der Symbolleiste des Bereichs), um die erste Sortieranweisung hinzuzufügen. Geben Sie in der Zeile, die hinzugefügt wird, einen XPath-Ausdruck in die Spalte "Match" ein, um den Node last auszuwählen. Alternativ dazu können Sie auf die Erzeugen-Schaltfläche BtnEdit klicken, um den XPath-Ausdruck zu erzeugen. In der Spalte "Datentyp" können Sie auswählen, wie der Sortierschlüsselinhalt ausgewertet werden soll: als Text oder als Zahl. In der Spalte "Reihenfolge" wird die Sortierreihenfolge aufgelistet: Aufsteigend oder absteigend. Wählen Sie Text und Aufsteigend. Klicken Sie zum Fertigstelle auf OK.

 

DlgDefineSortOrder1

 

In der Design-Ansicht enthält der member Tag ein Symbol, das anzeigt, dass er einen Sortierfilter enthält tag_sort. In der Abbildung unten sehen Sie die HTML-Ausgabe der Liste der Teammitglieder, sortiert nach Nachnamen. Beachten Sie, dass die beiden Edwards nicht alphabetisch sortiert sind.

 

SS_Sort_SortedOnLast

 

Rechtsklicken Sie in der Design-Ansicht auf den member Tag und wählen Sie im Kontextmenü den Befehl Ausgabe sortieren. Daraufhin wird das Dialogfeld "Sortierreihenfolge der Ausgabe definieren" angezeigt, wobei die last Sortieranweisung aufgelistet ist. Um eine weitere Sortieranweisung hinzuzufügen, hängen Sie eine neue Zeile an und geben Sie das first Element als Sortierschlüssel ein (Abbildung unten). Klicken Sie zum Fertigstellen auf OK.

 

DlgDefineSortOrder2

 

In der HTML-Ausgabe wird die Liste nun nach Nachnamen und anschließend Vornamen in alphabetischer Reihenfolge sortiert.

 

SS_Sort_SortedOnLastFirst

 

 

 


© 2019 Altova GmbH