Wertauflöser - Kurzfassung
Zweck: Versucht eine als Eingabewert übergebene Zeichenfolge als XML zu parsen, um ein Objekt zurückzugeben.
Tooltip
Verwendung: Der Wertauflöser gibt im Erfolgsfall das erzeugte Objekt zurück.
Parameter: Der Klassen Feldname (Standardwert
class) bestimmt, welches Feld im XML die Klasse von Objekten bzw. den Datentyp von Werten definiert.Hinweis: Liegt kein Wert (
$null) als Eingabewert an, wird der kein Wert ($null) zurückgegeben.
Siehe auch: Client XML aus Objekt erzeugen

Der Client XML aus Objekt erzeugen-Wertauflöser versucht eine als Eingabewert übergebene Zeichenfolge als XML zu parsen (s. XML Datenencoder), um ein Objekt zurückzugeben.
Der Parameter Klassen Feldname definiert den Namen des XML-Attributs, das die "Klasse" von Elementen im Client-XML angibt. Elemente, die über dieses XML-Attribut verfügen, sollen in den betreffenden Datentyp bzw. die Klasse umgewandelt werden.
Dabei sind folgende Fälle zu unterscheiden:
Eingabewert (abstrakt) | Eingabewert (konkrete Beispiele) | Rückgabewert (mit "Klassen Feldname" passend: | ... mit "Klassen Feldname" unpassend (hier: nicht | Fehler |
|---|---|---|---|---|
kein Wert ( | kein Wert ( | kein Wert ( | n/a | |
Eine Zeichenfolge, die kein wohlgeformtes XML definiert | leere Zeichenfolge ("")
| n/a |
| |
Ein wohlgeformtes XML, das in einem beliebig benannten |
|
| n/a | |
Ein wohlgeformtes XML mit einem |
|
HINWEIS Die originale Zeichenfolge | (Client-Objekt in JSON-Notation) HINWEIS Wenn der Eingabewert | n/a |
Ein wohlgeformtes XML mit einem |
| kein Wert ( HINWEIS Die originale Zeichenfolge | n/a | |
Ein wohlgeformtes XML mit einem |
| (Client-Objekt in JSON-Notation) | n/a | |
Ein wohlgeformtes XML, dessen | <alert class="de.lobster.scm.scem.incident:Incident"> WICHTIG Die Felder | (Neue HINWEIS Inhalte, die im Datenmodell der Klasse nicht vorgesehen sind (im Beispiel: | (Client-Objekt in JSON-Notation) HINWEIS Das Client-Objekt gibt alle Informationen aus dem XML wieder, bildet diese aber ohne jegliche Berücksichtigung in unterschiedlichen Ebenen referenzierten Klassen ab. | n/a |
Konfiguration
Als Eingabewert wird eine Zeichenfolge für ein wohlgeformtes XML-Dokument erwartet.
Der Parameter Klassen Feldname definiert einen Feldnamen, der innerhalb des XML-Strings als Attribut verwendet werden kann, um die Klasse eines Objekts zu identifizieren.
Per Standard wird das Feld
classverwendet.
Passt der in der Konfiguration angegebene Klassen Feldname nicht zum Inhalt des als Eingabewert vorliegenden XMLs, weil diese für Verweise auf Klassen von Objekten einen anderen Namen verwendet, dann werden die entsprechenden Inhalte nicht gegen das Objektmodell der angegebenen Klasse geparst. Stattdessen wird ein "Client-Objekt" erzeugt, in dem dann der ggf. vorhandene Verweis auf die nicht berücksichtigte Klasse unter dem unpassenden Namen als Feldwert nachlesbar ist. Für die relevanten Beispiele zeigt die Tabelle oben mit gelber Schattierung in Spalte 4 (anhand der JSON-Notation), wie solche Client-Objekte aussehen können.
ANMERKUNG Das "Ignorieren" bestehender Klassen-Referenzen ist typischer Weise nicht erwünscht, wenn der Client XML aus Objekt erzeugen-Wertauflöser zum Einsatz kommt, zumal es pauschal alle ggf. "klassifizierten" Inhalte betrifft.
Beispiel
Über eine Ereignisbehandlung soll auf ausgewählte Inhalte einer Datei mit Wetterdaten zugegriffen werden, die periodisch in das Dateisystem des Lobster_pro-Servers geschrieben wird.
Die Datei stellt im XML-Format eine Liste von Flugwetterberichten in Textform mit der folgenden Struktur bereit:
Auszug aus einer XML-Datei mit Flugwetterdaten
<avmet>
<metar>
<icaoAdId>EDMO</icaoAdId>
<metarType>COR</metarType>
<metarText>
EDMO 201320Z 27013G23KT 250V310 CAVOK 29/14 Q1013=
</metarText>
</metar>
<metar>
<icaoAdId>EDMA</icaoAdId>
<metarType/>
<metarText>
EDMA 201350Z 26013KT 230V290 CAVOK 29/14 Q1012=
</metarText>
</metar>
...
</avmet>Im Kontext einer Ereignisbehandlung sollen ein Objekt erzeugt werden, das die in der Datei enthaltenen Wetterberichte metar-Elemente als Liste von Client-Objekten wiedergibt. Aus dem Dateiinhalt soll dazu insgesamt in ein "Listenobjekt" erzeugt werden, das im Kontext der Ereignisbehandlung mit Wertauflösern (Regel-Listen Resolver, Listenwert, usw.) genauer "untersucht" bzw. ausgewertet werden kann.
Konfiguration:
Innerhalb einer Ausführen mit-Ereignisaktion soll die Liste aller Wetterberichte (
ANMERKUNG Im Aktionsblock der Ausführen mit-Ereignisaktion könnte diese Liste z. B. per Regel-Listen Resolver nach einem Wetterbericht für einen bestimmten Flughafen durchsucht werden, der durch eine Objekt-Feld-Regel für das Feld |
|
