Ordnung von Literalen ändern
Problem
Ein Literal (litA) wird vor einem anderen (litB) prozessiert. Nun soll aber diese Reihenfolge umgedreht werden.
Eingabe
{ litA: wertA, litB: wertB }
Erwartete Ausgabe
{ litB: wertB, litA: wertA }
Lösung
<data source="litA">
<buffer flushWith="record"/>
</data>
<data source="_else"/>Mit der Funktion buffer lässt sich ein Literal an einer beliebigen Stelle
weiterleiten, in diesem Fall erst am Ende des Datensatzes anstatt gleich
nach der Bearbeitung des entsprecechenden Literals. Mit <data
source="_else"/> wird sichergestellt, dass auch Literale
weitergeleitet werden, für die keine explizite Regel besteht.
Bemerkungen
Sollen mehrere Literale in ihrer Reihenfolge verändert werden, ist es
sinnvoll, mehrere morph-commands hintereinander zu schalten, und in
jeder Morph-Datei ein Literal an das Ende zu verschieben (<data
source="_else"/> nicht vergessen!).