Der XSLTransform-Knoten wird zur Umwandlung einer XML-Nachricht in ein anderes Nachrichtenformat verwendet (hierbei gelten die Regeln, die von einer XSL-Formatvorlage (XSL = eXtensible Stylesheet Language) bereitgestellt werden). Außerdem wird er zum Festlegen von Nachrichtendomäne, Nachrichtengruppe, Nachrichtentyp und Nachrichtenformat für die generierte Nachricht verwendet.
Dieser Knoten wurde früher als XMLTransformation-Knoten bezeichnet.
Dieses Thema ist in folgende Abschnitte eingeteilt:
Sie haben drei Möglichkeiten zur 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.
Wenn zu Beginn des Hauptteils der Eingabenachricht eine XML-Codierungsdeklaration enthalten ist, wird diese Codierung vom XSLTransform-Knoten ignoriert und für die Decodierung der Nachricht immer die CodedCharSetId im Eigenschaftenordner verwendet.
Der XSLTransform-Knoten befindet sich im Ablagefach Transformation der Palette und wird im WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:
Beispiel für die Verwendung dieses Knotens: Zwei Medienunternehmen, die regelmäßig Informationen austauschen. Bei einem der Unternehmen handelt es sich um einen Fernsehsender, das andere ist ein 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.
Sie können keine externen Entitäten mit relativem Pfad verwenden, die in der DTD von Eingabenachrichten definiert sind (beispielsweise <!DOCTYPE note [<!ENTITY chap1 SYSTEM "chap1.xml">]>). Verwenden Sie eine Definition mit absolutem Pfad.
Der XSLTransform-Knoten unterstützt eine Reihe von Nachrichtenbaumstrukturvariablen für die lokale Umgebung, mit denen Sie die in den Eigenschaften des Knotens festgelegten Werte dynamisch ändern können. Nähere Informationen finden Sie unter Verwendung von LocalEnvironment-Variablen zum Setzen von Eigenschaften.
In Verbindung mit dem XSLTransform-Knoten können Sie Formatvorlagen auf zwei verschiedene Arten verwenden. Nähere Informationen finden Sie unter Implementierte und nicht implementierte Formatvorlagen.
mqsireportproperties Brokername -e Kennung_der_Ausführungsgruppe -o ComIbmJVMManager -n jvmMaxHeapSize
Verwenden Sie den Befehl mqsichangeproperties, um die Größe des Java-Heapspeichers zu erhöhen:mqsichangeproperties Brokername -e Kennung_der_Ausführungsgruppe -o ComIbmJVMManager -n jvmMaxHeapSize -v Neue_Größe
Ersetzen Sie in den zuvor genannten Beispielen Brokername, Kennung_der_Ausführungsgruppe
und Neue_Größe durch die entsprechenden Werte.Der Wert für Neue_Größe richtet sich nach der Größe des physischen Hauptspeichers Ihres Computers sowie danach, wie häufig Sie Java verwenden. Ein Wert zwischen 512 MB (536870912) und 1 GB (1073741824) ist in der Regel ausreichend.
Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.
Nachdem Sie eine Instanz des XSLTransform-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Eigenschaften des Knotens werden in der Ansicht 'Eigenschaften' angezeigt.
Alle obligatorischen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind mit einem Sternchen gekennzeichnet.
In der folgenden Tabelle werden die XSLTransform-Knotenterminals beschrieben .
Terminal | Beschreibung: |
---|---|
Eingabeterminal (In) | Das Eingangsterminal, das die Nachricht zur Verarbeitung durch einen Knoten annimmt. |
Fehlerterminal (Failure) | 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 den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte K zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss zur BAR-Datei hinzugefügt wird, um ihn einzusetzen).
In der folgenden Tabelle werden die Beschreibungseigenschaften des XSLTransform-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Knotentyp | Der Name des Knotens. |
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens. | |
Langbeschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt |
In der folgenden Tabelle werden die Formatvorlageneigenschaften des XSLTransform-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Name der Formatvorlage | Nein | Ja | Der Name der Formatvorlage, der bei der Suche nach der Spezifikation der Formatvorlage in den Knoteneigenschaften verwendet wird.
Geben Sie zum Definieren einer Formatvorlage über die
Knoteneigenschaften den erforderlichen Wert für
Name der Formatvorlage ein. Geben Sie die Principal-Formatvorlage mit einer der folgenden Methoden an:
|
stylesheetName |
In der folgenden Tabelle werden die erweiterten Eigenschaften des XSLTransform-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Verzeichnis der Formatvorlage | Nein | Ja | Der Pfad der Formatvorlage. Er wird von allen Positionierungsmethode
verwendet. Wurde die Position der Formatvorlage vollständig angegeben, wird die Eigenschaft Verzeichnis für Formatvorlagen nicht berücksichtigt; andernfalls wird der Wert dieser Eigenschaft am Anfang der Spezifikation eingefügt, unabhängig davon, an welcher Stelle der Wert gefunden wurde. |
stylesheetPath | |
Cachestufe für Formatvorlage | Nein | Nein | 5 | Die Anzahl der kompilierten oder syntaktisch analysierten Formatvorlagen, die
in der Knoteninstanz gespeichert werden. Geben Sie eine positive ganze Zahl zwischen null (0) und 100 ein. Der Standardwert ist 5. Wenn Sie diese Eigenschaft auf null (0) setzen, wird keine Formatvorlage zwischengespeichert und Formatvorlagen werden interpretiert statt kompiliert. Wenn Ihr Nachrichtenfluss die Formatvorlage nicht dynamisch mittels der lokalen Umgebung festlegt, wird immer die gleiche Formatvorlage verwendet; jeder Wert über null (0) stellt dabei sicher, dass die Vorlage kompiliert wird. Legt Ihr Nachrichtenfluss die Formatvorlage hingegen dynamisch fest, so können Sie den Wert zur Leistungssteigerung anpassen. Falls Sie für diese Eigenschaft einen anderen Wert als eine positive ganze Zahl angeben, wird ein Ausnahmebedingungsfehler für die Nachrichtenflusskonfiguration ausgegeben. Der Formatvorlagen-Cache wird während der Lebensdauer des Knotens beibehalten und erst gelöscht, wenn der Knoten aus dem Nachrichtenfluss entfernt, der Nachrichtenfluss gelöscht oder die Ausführungsgruppe gestoppt wird. Wenn Sie eine zwischengespeicherte Formatvorlage ändern (indem Sie die Datei im Dateisystem erneut implementieren oder ersetzen), ersetzt der XSLTransform-Knoten, der den Cache enthält, die zwischengespeicherte Version durch die geänderte (neueste) Version, bevor eine neue Nachricht verarbeitet wird. Wenn eine bereit implementierte Formatvorlage erneut implementiert oder eine externe Formatvorlage im Dateisystem ersetzt wird, wird die Aktualisierung zwar erkannt, Sie können eine Formatvorlage, die in einer BAR-Datei implementiert ist, jedoch nicht durch Änderung der implementierten Formatvorlage auf der Platte ersetzen. Wenn Sie eine in einer BAR-Datei implementierte Formatvorlage ändern möchten, müssen Sie die BAR-Datei erneut implementieren. 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 von aktiven Nachrichtenflüssen nicht garantiert werden, was eine Inkompatibilität zwischen geänderten Formatvorlagen verursachen kann. Verwenden Sie den Befehl mqsireload, um eine Formatvorlage erneut zu laden. Der Befehl verhindert die Inkompatibilität jedoch nicht. Achten Sie bei der Einstellung dieser Eigenschaft auch auf die Leistung. Wenn Sie diese Eigenschaft auf einen höheren Wert als den Standardwert 5 einstellen, steigert sich in der Regel die Leistung, da Formatvorlagen seltener neu kompiliert werden. Allerdings benötigen Formatvorlagen im Cache Java Virtual Machine (JVM)-Heapspeicher. Wenn sich im Cache sehr viele Formatvorlagen befinden, wird JVM vermutlich recht langsam. Zudem wird die Leistung bei einer höheren Einstellung dieser Eigenschaft beeinträchtigt, wenn die Formatvorlagen im Cache nicht regelmäßig verwendet werden, da die Kompilierung von Formatvorlagen den Prozessor verstärkt beansprucht. Bei der Einstellung dieser Eigenschaft müssen Sie daher die Anzahl der von Ihnen verwendeten Formatvorlagen, deren Größe, die Größe des JVM-Heapspeichers und Ihr Verwendungsmuster gegeneinander abwägen. Weitere Informationen zum JVM-Heapspeicher finden Sie im Abschnitt Größe des JVM-Heapspeichers bestimmen. |
In der nachfolgenden Tabelle werden die Eigenschaften für die Syntaxanalyse der Ausgabenachricht des XSLTransform-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Nachrichtendomäne | Nein | Nein | BLOB | Die Nachrichtendomäne, die mit der Ausgabenachricht verknüpft ist. Um der Ausgabenachricht einen bestimmten Parser zuzuordnen, geben Sie die neue Domäne
in der Eigenschaft Nachrichtendomäne an. Der Standardwert lautet BLOB. Diese Domäne wird für die Ausgabenachricht angewendet. Verwenden Sie alternativ Übernehmen, um den Parser zuzuordnen, der die Eingabenachricht hatte. XML ist
veraltet; verwenden Sie stattdessen XMLNSC. Sie können bei Bedarf auch einen benutzerdefinierten Parser angeben. |
Nachrichtengruppe | Nein | Nein | Die Nachrichtengruppe, die mit der Ausgabenachricht verknüpft ist. Wenn Sie den MRM-Parser oder den XMLNSC-Parser im Prüfungsmodus verwenden, wählen Sie die Nachrichtengruppe aus, die verwendet werden soll. Diese Liste wird mit den verfügbaren Nachrichtengruppen gefüllt, wenn Sie MRM oder XMLNSC als Domäne auswählen. Wenn Sie diese Eigenschaft festlegen und die Projektabhängigkeiten anschließend aktualisieren, um diesen Nachrichtensatzverweis zu entfernen, wird eine Warnmeldung ausgegeben. Aktualisieren Sie entweder die Eigenschaft Nachrichtensatz, oder stellen Sie den Verweis auf dieses Nachrichtensatzprojekt wieder her. |
|
Nachrichtentyp | Nein | Nein | Der Nachrichtentyp, der mit der Ausgabenachricht verknüpft ist. Wenn Sie den MRM-Parser verwenden, wählen Sie aus der Liste unter Nachrichtentyp die korrekte Nachricht aus. Diese Liste wird mit Nachrichten aufgefüllt, die in der von Ihnen ausgewählten Nachrichtengruppe definiert sind. | |
Nachrichtenformat | Nein | Nein | Das Nachrichtenformat, das mit der Ausgabenachricht verknüpft ist. Wenn Sie den MRM-Parser verwenden, wählen Sie aus der Liste unter Nachrichtenformat das gewünschte physische XML-Format für die Ausgabenachricht aus. Diese Liste enthält alle physischen Formate, die Sie für diese Nachrichtengruppe definiert haben. | |
Zeichensatz | Nein | Nein | Der numerische Wert des Zeichensatzes für die Ausgabenachricht Um einen Zeichensatz für die Ausgabenachricht unter Verwendung von Knoteneigenschaften anzugeben, geben Sie den erforderlichen Wert für Zeichensatz an. Sie müssen einen numerischen Wert festlegen; geben Sie beispielsweise den Wert 1200 ein, wenn die Ausgabenachricht in UTF-16 codiert werden soll. |
In der folgenden Tabelle werden die Parseroptionen des XSLTransform-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Zeitpunkt für Syntaxanalyse | Nein | Nein | Bei Bedarf | Durch diese Eigenschaft wird gesteuert, zu welchem Zeitpunkt eine Ausgabenachricht syntaktisch analysiert wird. Gültige Werte sind Bei Bedarf, Sofort und Vollständig. Die Option Zeitpunkt für Syntaxanalyse ist standardmäßig auf Bei Bedarf gesetzt, d. h., die Analyse der Nachricht wird verschoben. Der Abschnitt Bedarfsgerechte Syntaxanalyse enthält Informationen zur sofortigen Analyse von Nachrichten. |
Baumstruktur unter Verwendung von XML-Schemadatentypen erstellen | Nein | Nein | Nicht ausgewählt | Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser die Datentypen der in der Nachrichtenbaumstruktur erstellten Syntaxelemente aus dem XML-Schema entnimmt.Sie können diese Eigenschaft nur auswählen, wenn Sie Auswerten auf Inhalt oder Inhalt und Wert gesetzt haben. Weitere Informationen hierzu finden Sie im Abschnitt Nachrichten in der XMLNSC-Domäne bearbeiten. |
XMLNSC-Kompaktparser für XMLNS-Domäne verwenden | Nein | Nein | Nein | Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Kompaktparser für Ausgabenachrichten in der XMLNS-Domäne verwendet wird. Wenn Sie diese Eigenschaft festlegen, werden die Nachrichtendaten unter XMLNSC in Knoten, die mit dem Ausgabeterminal verbunden sind, angezeigt, wenn der MQRFH2-Header oder die Domäne XMLNS ist. |
In der folgenden Tabelle werden die Auswertungseigenschaften des XSLTransform-Knotens beschrieben. Legen Sie die Auswertungseigenschaften fest, damit der Parser den Hauptteil von Nachrichten anhand der Nachrichtengruppe überprüft. (Wenn eine Nachricht an das Fehlerterminal des Knotens übergeben wird, wird sie nicht ausgewertet.) Sie finden weitere Informationen hierzu in den Abschnitten Nachrichten überprüfen und Auswertungseigenschaften.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Auswertung | Nein | Ja | Ohne | Durch diese Eigenschaft wird gesteuert, ob eine Auswertung der Ausgabenachricht stattfindet. Gültige Werte sind Keine, Inhalt, Inhalt und Wert und Übernehmen. |
Fehlerbehebungsmaßnahme | Nein | Nein | Ausnahme | Durch diese Eigenschaft wird gesteuert, was beim Fehlschlagen der Auswertung der Ausgabenachricht geschieht. Sie können diese Eigenschaft nur angeben, wenn Sie Auswerten auf Inhalt und Wert oder auf Inhalt gesetzt haben. Gültige Werte sind Benutzertrace, Lokales Fehlerprotokoll, Ausnahmebedingung und Ausnahmeliste. |
In der folgenden Tabelle werden die Detail-Trace-Eigenschaften des XSLTransform-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Trace-Einstellung | Ja | Nein | Off | Diese Eigenschaft wird nicht mehr unterstützt. Starten Sie
stattdessen den Benutzertrace. Der Benutzertrace enthält die gleichen XSL-Traceinformationen.
Wenn
Sie diese Eigenschaft festlegen, hat dies keine Auswirkungen auf den Benutzertrace. In früheren Versionen von WebSphere Message Broker legte diese Eigenschaft fest, ob die Tracefunktion aktiv oder inaktiv ist. Ist sie aktiv, werden Tracedaten mit niedriger Detailtiefe in einer Datei gespeichert. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Ereignisse | Nein | Nein | Ohne | Auf dieser Registerkarte werden Ereignisse angezeigt, die Sie für den Knoten
definiert haben. Standardmäßig sind für keinen Knoten in einem Nachrichtenfluss
Überwachungsereignisse definiert. Über Hinzufügen,
Bearbeiten und Löschen können Sie
Überwachungsereignisse für den Knoten erstellen, ändern oder löschen (Details siehe
Überwachungsereignisquellen mithilfe von Überwachungseigenschaften konfigurieren). Sie können hier angezeigte Ereignisse aktivieren oder inaktivieren, indem Sie das Kontrollkästchen Aktiviert aktivieren oder inaktivieren. |