Dieses Kapitel enthält folgende Abschnitte:
Der XMLUmsetzungsknoten wird zur Umwandlung einer XML-Nachricht in ein anderes XML-Nachrichtenformat verwendet. Hierbei gelten die Regeln, die von einer XSL-Formatvorlage (XSL = eXtensible Stylesheet Language) bereitgestellt werden.
Sie haben drei Möglichkeiten für die Angabe der Adresse der Formatvorlage, die für diese Umwandlung verwendet werden soll:
Für die Umwandlung wird ein XSLT-Compiler (eXtensible Stylesheet Language for Transformations) verwendet, wenn die Formatvorlage nicht Teil der Nachricht ist und der Wert für die Knotencachestufe (Knoteneigenschaft Cachestufe für Formatvorlage) größer als null ist. Wenn XSLT zwischengespeichert wird, führt dies zu einer Leistungsverbesserung, da XSLT nicht bei jeder Verwendung syntaktisch analysiert wird.
Der XMLUmsetzungsknoten wird in Workbench mit dem folgenden Symbol dargestellt:
Beispiel für die Verwendung dieses Knoten: Zwei Medienunternehmen, die regelmäßig Informationen austauschen. Bei einem der Unternehmen handelt es sich um einen Fernsehsender, das andere ist eine Zeitungsverlag. Obwohl identische Informationen verwendet werden, unterscheidet sich doch das verwendete Vokabular. Dieser Knoten kann ein Format in ein anderes umwandeln, indem er die Regeln der angegebenen Formatvorlage anwendet. Wenn Sie die Formatvorlage in der Nachricht angeben (entweder die XML-Daten oder die lokale Umgebung), kann derselbe Knoten beide Umwandlungen vornehmen.
Ausführliche Informationen zur Verwendung der XML-Umsetzungsknoten finden Sie im Beispielprogramm 'XMLT'.
Ausnahme: Bei der Angabe einer Principal-Formatvorlage als Eigenschaft Name der Formatvorlage in einem XMLUmsetzungsknoten können Sie einen absoluten Pfad verwenden, der auf die richtige Verzeichnisstruktur im Eclipse-Arbeitsbereich verweist. Wenn die Principal-Formatvorlage gefunden wurde, setzt das System die Knoteneigenschaft automatisch auf den richtigen relativen Wert. Außerdem führt es eine automatische Implementierung der Principal-Formatvorlage und der standortabhängigen untergeordneten Formatvorlagen aus, die im relevanten Eclipse-Arbeitsbereichsprojekt verfügbar sind. Alle Verweise auf standortabhängige untergeordnete Formatvorlagen (oder XML-Dateien) einer Principal-Formatvorlage müssen relativ zum Standort der zugehörigen übergeordneten Formatvorlagen sein. Wenn beispielsweise die Formatvorlage //Projekt1/a/b.xsl auf die Formatvorlage //Projekt1/a/c/d.xsl verweist, muss der Verweis in c/d.xsl (oder ./c/d.xsl) geändert werden.
Fügen Sie die Dateien bei der manuellen Implementierung zu einem Brokerarchiv hinzu (siehe Einem Brokerarchiv Dateien hinzufügen und Schlüsselwörter zu XSL-Formatvorlagen hinzufügen), und implementieren Sie das Brokerarchiv.
Wenn eine Formatvorlage im Verzeichnis Brokerarbeitspfad/XSL/external denselben Pfad und denselben Namen wie eine implementierte Formatvorlage hat, wird die implementierte Formatvorlage verwendet.
Wenn Sie eine Instanz des XMLUmsetzungsknotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren. Klicken Sie mit der rechten Maustaste in der Editoransicht auf den Knoten, und wählen Sie die Option Eigenschaften aus. Daraufhin werden die grundlegenden Eigenschaften des Knotens angezeigt.
Alle verbindlichen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind dort mit einem Sternchen gekennzeichnet.
Konfigurieren Sie den XMLUmsetzungsknoten wie folgt:
<?xml-stylesheet type="text/xsl" href="foo.xsl"?>
Da dieser Knoten über ein SupportPac für Version 2.1 zur Verfügung gestellt wurde und das Element 'ComIbmXslMqsiStylesheetname' als Name der Formatvorlage verwendet wurde, überprüft der Knoten beide Elemente. Sind beide Elemente vorhanden, hat der Wert in 'ComIbmXslXmltStylesheetname' Vorrang.
Obwohl für jede Eigenschaft mehr als ein Wert gesetzt werden kann, sollte dies unterlassen werden. Falls Sie sich dennoch dafür entscheiden, gilt die oben aufgeführte Prioritätenreihenfolge für den Knoten.
Wird der Wert 'Ignorieren' gesetzt, durchsucht der Knoten die entsprechende Position nicht auf Informationen zur Formatvorlage. Werden alle drei Eigenschaften auf 'Ignorieren' gesetzt, wird ein Laufzeitfehler generiert.
Soll die Formatvorlage über die Knoteneigenschaften definiert werden, geben Sie den entsprechenden Wert für Name der Formatvorlage ein. Werden die Formatvorlagen an der Position mit der höchsten Priorität gefunden (festgelegt über die zuvor gesetzten Prioritätswerte), wird dieser Wert ignoriert.
Wenn Sie eine zwischengespeicherte Formatvorlage ändern (indem Sie die Datei im Dateisystem erneut implementieren oder ersetzen), ersetzt der XMLUmsetzungsknoten, der den Cache enthält, die zwischengespeicherte Version durch die geänderte (neueste) Version, bevor eine neue Nachricht verarbeitet wird. Wenn Sie mehrere Formatvorlagen ändern, sollten Sie jedoch die relevanten Nachrichtenflüsse stoppen, bevor Sie Änderungen vornehmen. Wenn Sie die relevanten Nachrichtenflüsse nicht stoppen, bevor Sie die Änderungen vornehmen, kann die Reihenfolge der Änderungen durch aktive Nachrichtenflüsse nicht garantiert werden, und es kann eine Inkompatibilität zwischen den Formatvorlagen auftreten, die geändert werden. Sie können den Befehl mqsireload verwenden, um eine Formatvorlage erneut zu laden. Der Befehl verhindert die Inkompatibilität jedoch nicht.
Beispiel: Geben Sie den Wert 1208 als Zeichenfolge für dieses Element an, wenn die Ausgabe der Umwandlung in UTF-8 codiert werden soll.
Da dieser Knoten über ein SupportPac für Version 2.1 zur Verfügung gestellt wurde und das Element 'ComIbmXslMqsiOutputcharset' als Name für den Ausgabezeichensatz verwendet wurde, überprüft der Knoten beide Elemente. Sind beide Elemente vorhanden, hat der Wert in 'ComIbmXslXmltOutputcharset' Vorrang.
Für Ausgabezeichensatz muss ein numerischer Wert festgelegt werden. Beispiel: Geben Sie den Wert 1200 ein, wenn die Ausgabe der Umwandlung in UTF-16 codiert werden soll.
Obwohl für jede Eigenschaft mehr als ein Wert gesetzt werden kann, sollte dies unterlassen werden. Falls Sie sich dennoch dafür entscheiden, gilt die oben aufgeführte Prioritätenreihenfolge für den Knoten.
Wird der Wert 0 gesetzt, durchsucht der Knoten die entsprechende Position nicht auf Informationen zum Zeichensatz.
Kann der Knoten den Ausgabezeichensatz nicht auf Grundlage einer dieser Quellen ermitteln, weil entweder kein Wert gesetzt ist oder die Auswahlprioritäten auf 0 gesetzt sind, wird der Standardwert 1208 (UTF8) verwendet. (Die XSL-Spezifikation gibt an, dass der Ausgabezeichensatz in der Formatvorlage angegeben werden kann. Der XMLUmsetzungsknoten ignoriert diesen Wert jedoch.)
Die Tracedaten werden in der Tracedatei XMLTTrace.log gespeichert:
Wird für einen XMLUmsetzungsknoten ausgewählt, dass ein ausführlicher Trace durchgeführt wird, wird dies für alle Knoten in derselben Ausführungsgruppe übernommen.
Klicken Sie auf Abbrechen, um das Dialogfeld zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften vorgenommen haben.
mqsireportproperties Brokername -e Kennung_der_Ausführungsgruppe -o ComIbmJVMManager -n jvmMaxHeapSize
mqsichangeproperties Brokername -e Kennung_der_Ausführungsgruppe -o ComIbmJVMManager -n jvmMaxHeapSize -v Neue_Größe
Ersetzen Sie Brokername, Kennung_der_Ausführungsgruppe
und Neue_Größe durch die entsprechenden Werte.Der Wert für Neue_Größe richtet sich nach der physischen Hauptspeichermenge Ihres Computers sowie danach, wie häufig Sie Java verwenden.
Empfohlen wird ein Wert zwischen 512 MB (536870912) und 1 GB (1073741824).
In der nachfolgenden Tabelle werden die Terminals des XMLUmsetzungsknotens beschrieben.
Terminal | Beschreibung: |
---|---|
Eingangsterminal | Das Eingangsterminal, das die Nachricht zur Verarbeitung durch einen Knoten annimmt. |
Fehlerterminal | Das Ausgabeterminal, an das die Originalnachricht weitergeleitet wird, wenn während der Umwandlung ein Fehler auftritt. |
Ausgang | Das Ausgabeterminal, an das eine erfolgreich umgewandelte Nachricht weitergeleitet wird. |
In der nachfolgenden Tabelle werden die Knoteneigenschaften beschrieben. Die Spalte M zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen im Eigenschaftendialog, ob Sie einen Wert eingeben müssen, wenn kein Standardwert definiert ist). Die Spalte C zeigt an, ob die Eigenschaft konfigurierbar ist (Sie können den Wert ändern, wenn Sie der BAR-Datei den Nachrichtenfluss hinzufügen, um ihn einzusetzen).
In der nachfolgenden Tabelle werden die Formatvorlageneigenschaften des XMLUmsetzungsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung: |
---|---|---|---|---|
Auswahlpriorität in XML-Einbettung | Ja | Nein | 1 | Die Prioritätsstufe zum Suchen der Formatvorlage in den XML-Daten. |
Auswahlpriorität in Nachrichtenumgebung | Ja | Nein | 2 | Die Priorität zum Suchen der Formatvorlage in der LocalEnvironment-Baumstruktur der aktuellen Nachricht. |
Auswahlpriorität in Brokerknotenattribut | Ja | Nein | 3 | Die Priorität zum Suchen der Formatvorlage als Eigenschaft des Knotens. |
Name der Formatvorlage | Nein | Ja | Der Name der Formatvorlage; wird beim Suchen der Spezifikation für die Formatvorlage in den Knoteneigenschaften verwendet. | |
Verzeichnis der Formatvorlage | Nein | Ja | Der Pfad der Formatvorlage. Wird bei allen Methoden zum Bestimmen der Position verwendet. | |
Cachestufe für Formatvorlage | Nein | Nein | 5 | Die Anzahl der kompilierten oder syntaktisch analysierten Formatvorlagen, die in der Knoteninstanz gespeichert werden sollen. |
In der nachfolgenden Tabelle werden die Ausgabezeichensatzeigenschaften des XMLUmsetzungsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung: |
---|---|---|---|---|
Auswahlpriorität in Nachrichtenumgebung | Ja | Nein | 1 | Die Priorität zum Suchen der Ausgabezeichensatz-ID in der LocalEnvironment-Baumstruktur der aktuellen Nachricht. |
Auswahlpriorität in Brokerknotenattribut | Ja | Nein | 2 | Die Priorität zum Suchen der Ausgabezeichensatz-ID als Eigenschaft des Knotens. |
Ausgabezeichensatz | Nein | Nein | Der numerische Wert für den Ausgabezeichensatz. |
In der nachfolgenden Tabelle werden die Detail-Trace-Eigenschaften des XMLUmsetzungsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung: |
---|---|---|---|---|
Trace-Einstellung | Ja | Nein | Off | Gibt an, ob die Tracefunktion aktiv ist. Ist sie aktiv, werden Tracedaten mit niedriger Detailtiefe in einer Datei gespeichert. |
In der nachfolgenden Tabelle werden die Beschreibungseigenschaften des XMLUmsetzungsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung: |
---|---|---|---|---|
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens | |
Ausführliche Beschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt |
Wenn zu Beginn des Hauptteils der Eingabenachricht eine XML-Codierungsdeklaration enthalten ist, wird diese Codierung vom XMLUmsetzungsknoten ignoriert und für die Decodierung der Nachricht immer die CodedCharSetId im Eigenschaftenordner verwendet.