Von einem Java-Rechenknoten auf Elemente in einer Nachrichtenbaumstruktur zugreifen

Wenn Sie zum Lesen oder Schreiben auf den Inhalt einer Nachricht zugreifen möchten, verwenden Sie Struktur und Anordnung der Elemente in der Baumstruktur, die der Parser aus dem Eingabebitstrom erstellt. Folgen Sie den relevanten übergeordneten und untergeordneten Beziehungen im Baum abwärts, bis Sie das erforderliche Element erreicht haben.

Die Nachrichtenbaumstruktur wird als Argument der Prüfmethode an einen Java-Rechenknoten übermittelt. Bei dem Argument handelt es sich um ein Objekt vom Typ 'MbMessageAssembly'. In 'MbMessageAssembly' sind vier Nachrichtenobjekte enthalten:
  • Nachricht
  • Lokale Umgebung
  • Globale Umgebung
  • Ausnahmeliste
Mit Ausnahme der globalen Umgebung sind diese Objekte schreibgeschützt. Wenn Sie versuchen, in diese schreibgeschützten Objekte zu schreiben, wird die Ausnahmebedingung 'MbReadOnlyException' ausgelöst.
Dieser Abschnitt enthält die folgenden Informationen zum Zugriff auf Elemente in einer Nachrichtenbaumstruktur:

Elementbaumstruktur durchlaufen

In dieser Tabelle werden die Java-Methoden gezeigt, mit denen auf die Elementbaumstrukturen zugegriffen werden kann, sowie die entsprechenden ESQL-Korrelationsnamen für jeden Punkt in der Baumstruktur.
Java-Zugriffsmechanismus aus MbMessageAssembly ESQL-Korrelationsname
getMessage().getRootElement() InputRoot
getMessage().getRootElement().getLastChild() InputBody
getLocalEnvironment().getRootElement() InputLocalEnvironment
getGlobalEnvironment().getRootElement() Umgebung
getExceptionList().getRootElement() InputExceptionList
Mit diesen Methoden können Sie eine Nachrichtenbaumstruktur von einem Element des Typs 'MbElement' durchlaufen:
getParent()
gibt das übergeordnete Element des aktuellen Elements zurück
getPreviousSibling()
gibt das vorhergehende gleichgeordnete Element des aktuellen Elements zurück
getNextSibling()
gibt das nächste gleichgeordnete Element des aktuellen Elements zurück
getFirstChild()
gibt das erste untergeordnete Element des aktuellen Elements zurück
getLastChild()
gibt das letzte untergeordnete Element des aktuellen Elements zurück

Im folgenden Beispiel wird eine einfache XML-Nachricht und die logische Baumstruktur gezeigt, die aus der Nachricht erstellt würde. Die Nachricht wurde in diesem Beispiel mit Hilfe von WebSphere MQ gesendet. In der logischen Baumstruktur werden auch die Methoden gezeigt, die für die Navigation in der Baumstruktur aufgerufen werden können.

<document>
  <chapter title='Einleitung'>
    Text.
  </chapter>
</document>

In diesem Diagramm werden die Methoden gezeigt, die Sie für die Navigation in einer Nachrichtenbaumstruktur aufrufen können. Die hier verwendete Baumstruktur wurde bei der Syntaxanalyse des XML-Beispiels in diesem Abschnitt erstellt. Durch den Aufruf von 'getFirstChild()' im Stammteil der Baumstruktur wird zu den Eigenschaften navigiert. Durch den Aufruf von 'getLastChild()' im Stammteil wird XML zurückgegeben. Durch Aufruf von 'getParent()' in den Eigenschaften wird das Stammverzeichnis, durch Aufruf von 'getNextSibling()' wird MQMD zurückgegeben. Durch Aufruf von 'getPreviousSibling()' in MQMD werden Eigenschaften, durch Aufruf von 'getParent()' das Stammelement und durch Aufruf von 'getNextSibling()' wird XML zurückgegeben. Durch Aufruf von 'getPreviousSibling()' in XML wird MQMD, durch Aufruf von 'getParent()' wird ein Stammelement, durch Aufruf von 'getFirstChild()' wird ein Dokument, und durch Aufruf von 'getLastChild()' wird ebenfalls ein Dokument zurückgegeben. Durch Aufruf von 'getParent()' im Dokument wird XML, durch Aufruf von 'getFirstChild()' wird ein Kapitel, und durch Aufruf von 'getLastChild()' wird ebenfalls ein Kapitel zurückgegeben. Durch Aufruf von 'getParent()' im Kapitel wird ein Dokument, durch Aufruf von 'getFirstChild()' wird ein Titel, und durch Aufruf von 'getLastChild()' wird das untergeordnete Element mit den Nachrichtendaten 'Text' zurückgegeben. .

Durch den folgenden Java-Code wird auf das Kapitelelement in der logischen Baumstruktur zugegriffen:
MbElement root = assembly.getMessage().getRootElement();
MbElement chapter = root.getLastChild().getFirstChild().getFirstChild();

Auf Informationen über ein Element mit Hilfe eines Java-Rechenknotens zugreifen

Verwenden Sie die nachfolgenden Methoden zum Zurückgeben von Informationen zum referenzierten Element. Die benutzerdefinierte Java-Knoten-API bietet weitere ausführliche Informationen zu diesen Methoden:
getName()
gibt den Elementnamen als 'java.lang.String' zurück
getValue()
gibt den Elementwert zurück
getType()
gibt einen der folgenden generischen Typen zurück:
  • NAME. Ein Element diesen Typs hat einen Namen, jedoch keinen Wert.
  • VALUE. Ein Element diesen Typs hat einen Wert, jedoch keinen Namen.
  • NAME/VALUE. Ein Element diesen Typs hat einen Wert und einen Namen.
getSpecificType()
gibt den Parser-spezifischen Typ des Elements zurück
getNamespace()
gibt die Namensbereichs-URI dieses Element zurück
Zugehörige Informationen
Benutzerdefinierte Java-Knoten-API
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac30330_