Die Funktion :copy[]

Die Funktion copy ermöglicht, den Inhalt eines bestimmten Elements in einer lokalen Variablen zu speichern, deren Inhalt an anderer Stelle mit der Funktion :dump[] wieder ausgegeben werden kann. Der Datentyp der jeweiligen Variable wird grundsätzlich in den Datentyp text konvertiert. Bei Mehrfacheinträgen wird der letzte Eintrag übernommen, sofern nicht mit :collection[], die Mehrfacheinträge zu einer Zeichenkette zusammengezogen werden.  Die grundlegende Syntax hat die folgende Form:

:copy[element,name]

Dabei ist "element" ein Element beliebigen Datentyps. "Name" steht für eine frei wählbare Zeichenkette. Unter dem hier gewählten Namen wird der Inhalt des Elements in einer lokalen Variable gespeichert. Die Angabe :copy[:beruf,ber1] speichert also den Inhalt des Elements "beruf" in die Variable "ber1".

Eine Erweiterung von :copy[] kann durch verschiedene Schlüsselwörter angeordnet werden:

:copy[element,name,Schlüsselwort1, Schlüsselwort2]

Als Schlüsselwort 1 sind gegenwärtig folgende Werte definiert:

Success geht davon aus, daß der Inhalt des Elements ausgegeben, also in der Ausgabe angezeigt wird, bevor er in die lokale Variable geschrieben wird. Für viele Aufgaben kann dies nachteilig sein. In diesem Falle kann  durch das Schlüsselwort failure angeordnet werden, daß der Wert Inhalt des Elements in die lokale Variable "unsichtbar" übertragen wird.

Als Schlüsslewort 2 sind gegenwärtig folgende Werte definiert:

Grundsätzlich geht das System davon aus, daß eine lokale Variable im weiteren Verlauf des Scripts tatsächlich benutzt wird. Wird durch :copy[] eine Variable erzeugt, die später nicht wieder aufgerufen wird, so reagiert das System mit einer Fehlermeldung. Dies ist das implizite Verhalten, welches durch die Default-Einstellung strict angeordnet wird.  Durch Angabe von relaxed kann die Fehlermeldung unterdrückt werden.
Eine legale Form des Aufrufs von :copy[] kann also folgendermaßen aussehen:

:copy[:gattung,test,failure,relaxed]

Es wird hier also der Inhalt des Elements gattung in die Variable test geschrieben. Der Inhalt von gattung wird dabei nicht angezeigt (Schlüsselwort failure). Die Variable test muß später nicht aufgerufen werden (Schlüsselwort relaxed).