Variablen
Werte in Metamorph sind bis zu einem gewissen Grad dynamisierbar, indem
sie als Parameter in der Flux-Datei oder über die Kommandozeile dem
Programm übergeben werden. Dazu ist es notwendig, dass in der Flux-Datei
das morph
-command so angepasst wird, dass solche Parameter
automatisch der Metamorph
-Klasse übergeben werden:
morph(morphdatei, *)
Anschliessend können arbiträre Parameter in Flux definiert werden:
default var1 = "wert1";
default var2 = "wert2";
// Flux-Commands...
default
verhindert, dass bereits auf der Kommandozeile definierte
Parameter überschrieben werden. Letzteres kann folgendermassen
bewerkstelligt werden:
./flux.sh fluxdatei var1=wert1 var2=wert2
In Metamorph werden so übergebene Parameter mittels $[variablenname]
etc.
ausgelesen, also beispielsweise:
<data source="_id" name="feldA">
<constant value="$[var1]"/>
</data>
Selbstredend können solche Variablen überall dort in Metamorph-Definitionen verwendet werden, wo auch Werte definiert werden können.
Schliesslich lassen sich in Metamorph auch noch Standardwerte für
Variablen definieren. Dies geschieht in einem vom <rules>
-Element
separierten <vars>
-Tag:
<vars>
<var name="var1" value="wert1"/>
<var name="var2" value="wert2"/>
</vars>
<!-- <rules> ... -->