Nachschlagetabellen
Nachschlagetabellen dienen zur Filterung oder Ersetzung bestimmter Werte und
werden so von den Funktionen whitelist
und blacklist
sowie setreplace
und
lookup
verwendet. Sie können in Metamorph an verschiedenen Stellen definiert
werden:
- Wird die Nachschlagetabelle nur an einer einzigen Stelle benötigt, macht es
Sinn, sie direkt in der Funktion des betreffenden Literal selbst zu
definieren. Dies geschieht mithilfe des Enumerierungstags
entry
, welches das obligatorische Attributname=
(Schlüssel) und das fakultative Attributvalue=
(Ersetzungswert). Die vier erwähnten Funktionen haben auch ein fakultatives Attribut
map=
. Mit diesem kann eine im gesamten Morph verfügbare Tabelle referenziert werden, die in einem vom<rules>
-Abschnitt separierten Tag<maps>
definiert wird:<maps> <map> <entry name="schluessel1" value="wert1"/> <entry name="schluessel2" value="wert2"/> </map> </maps>
Schliesslich kann ebenfalls im Tag
<maps>
analog zumap
eine Reihe von externen Quellen als Nachschlagetabelle angegeben werden.
javamap
javamap
referiert eine Java-Klasse, welche java.util.Map
implementiert
name
(obligatorisch): Name der Tabelle in Morph-Dateiclass
(obligatorisch): Klassenname mit vollem Pfad- Alle weiteren Attribute werden als Parameter der Klasse interpretiert
filemap
filemap
referiert eine Textdatei, wobei in dieser eine Zeile einem Schlüssel-Wert-Paar entspricht
name
(obligatorisch): Name der Tabelle in Morph-Dateifiles
(obligatorisch): Pfade zu Dateien mit Tabellen, getrennt durch Leerzeichenseparator
: Trennzeichen zwischen Schlüssel und Wert in Tabelle (Standard:\t
)
restmap
restmap
fragt eine REST-Schnittstelle ab
name
(obligatorisch): Name der Tabelle in Morph-Dateiurl
(obligatorisch): URL der REST-Schnittstelle
sqlmap
sqlmap
fragt eine SQL-Datenbank ab
name
(obligatorisch): Name der Tabelle in Morph-Dateihost
: Hostname (Standard:localhost
)login
(obligatorisch): Benutzernamepassword
(obligatorisch): Passwortdatabase
(obligatorisch): Name der Datenbankquery
(obligatorisch): Suchabfragedriver
: Datenbanktreiber (Standard:com.mysql.jdbc.Driver
)
jndisqlmap
jndisqlmap
fragt eine SQL-Datenbank über die JNDI-Schnittstelle ab
name
(obligatorisch): Name der Tabelle in Morph-Dateidatasource
(obligatorisch): Datenquellequery
(obligatorisch): Suchabfrage