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!).