Die Klasse 'MbsMessageAssembly' ist die Nachrichten-Assembly, die zwischen Knoten in einem Nachrichtenfluss weitergegeben wird.
Wenn assembly (Assembly) eine Instanz von 'MbsMessageAssembly' ist, können Sie unter Verwendung des folgenden Codes auf die vier Komponentenbaumstrukturen zugreifen:
MbsMessage message = $assembly[MB_MESSAGE];
MbsMessage local_env = $assembly[MB_LOCAL_ENVIRONMENT];
MbsMessage global_env = $assembly[MB_GLOBAL_ENVIRONMENT];
MbsMessage ex_list = $assembly[MB_EXCEPTION_LIST];
Die Klasse 'MbsMessageAssembly' stellt die in der folgenden Tabelle aufgeführten API-Methoden bereit. Parameter in eckigen Klammern sind optional:
Methode | Beschreibung |
---|---|
Constructor(MbsMessageAssembly $assembly, MbsMessage $msg [, MbsMessage $local_env [, MbsMessage $exception_list]]) | Instanziiert ein neues Nachrichten-Assembly-Objekt basierend auf der angegebenen Vorlagen-Assembly. Die Nachricht für die Assemblierung wird durch die durch den Parameter msg übergebene Nachricht ersetzt. Die anderen logischen Baumstrukturen können ebenfalls ersetzt werden, wenn der ihnen zugeordnete Parameter angegeben wird. Wenn der zugeordnete Parameter nicht angegeben ist, wird die Baumstruktur aus der Vorlagen-Assembly verwendet. |
int getType() | Gibt den spezifischen Typ des Stammelements der Nachrichtenbaumstruktur zurück. |
array xpath(string $expression [, array $namespace]) | Wertet den XPath-Ausdruck mit dem letzten untergeordneten Elements des Stammelements (Hauptteilelement) als Kontextknoten aus. Gibt das Ergebnis entweder als Zeichenfolge, Doppelzeichen oder booleschen Wert oder eine Knotengruppe als Array aus MbsElement-Objekten zurück. Der optionale Parameter Namespace ist ein assoziatives Array mit Namespace-Präfixen als Schlüsseln und Namespace-URIs als Werten. |
MbsElement getChild(string $name [, int $occurrence]) | Gibt das erste untergeordnete Element des Stammelements der Nachrichtenbaumstruktur zurück, dessen Name durch den ersten Parameter angegeben ist. Das n-te Vorkommen dieses untergeordneten Elements kann durch Festlegung des zweiten optionalen Parameters zurückgegeben werden. |
array getChildren([string $namespace]) | Gibt alle untergeordneten Elemente des Stammelements der Nachrichtenbaumstruktur als 'MbsElement'-Array zurück. Wenn der Parameter Namespace angegeben ist, enthält das Array nur die untergeordneten Elemente mit diesem Namespace-URI. |
MbsElement getFirstChild() | Gibt das erste untergeordnete Element des Stammelements der Nachrichtenbaumstruktur zurück. |
MbsElement getLastChild() | Gibt das letzte untergeordnete Element des Stammelements der Nachrichtenbaumstruktur zurück. |
MbsElement addElement(string $name, object $value [, string $namespace [, int $type [, int $position]]]) | Erstellt (standardmäßig) ein Element als letztes untergeordnetes Element des
Stammelements der Nachrichtenbaumstruktur. Der optionale Parameter Typ ist der
parserspezifische Typ des neuen Knotens (nimmt standardmäßig den Wert des XML-Elementtyps für
XML-Parser an). Der optionale Parameter position kann einen der folgenden
Werte annehmen:
|
MbsElement addDomainElement(string $domainName) | Erstellt ein Domänenelement. |
void detachAllChildren() | Hängt alle untergeordneten Elemente des Stammelements der Nachrichtenbaumstruktur ab. |
string asBitstream([array $options]) | Serialisiert die Elementbaumstruktur zur Erstellung eines Bitstroms. Bei Verwendung des MRM-Parsers (und anderer Parser) muss das Array options (Optionen) durch folgende Schlüssel-/Wertepaare belegt sein:
|
void addElementFromBitstream(string $bitstream [, array $options]) | Erstellt eine Elementbaumstruktur aus dem bereitgestellten Bitstrom. Wenn options (Optionen) nicht angegeben ist, wird der Bitstrom vom Parser des Stammelements der Nachrichtenbaumstruktur syntaktisch analysiert und als letztes untergeordnetes Element an das Stammelement angehängt (in diesem Fall wird kein Domänenelement erstellt). Wenn das Array options (Optionen) angegeben ist, muss es die Schlüssel-/Wertepaare 'domain' => '<parserDomain>' sowie eine beliebige Anzahl der zusätzlichen Optionen für den MRM-Parser enthalten (siehe asBitstream()). In diesem Fall wird ein Parserelement am Anfang der neuen untergeordneten Baumstruktur erstellt und als letztes untergeordnetes Element des Stammelements der Nachrichtenbaumstruktur angehängt. |
void propagate(string $terminalName) | Gibt die Nachrichten-Assembly an das durch den Parameter Terminalname angegebene Ausgabeterminal weiter. |
void routeToLabel(string $labelName) | Leitet die Nachrichten-Assembly an den durch den Parameter labelName angegebenen Label-Knoten weiter. |