XMLTransformation ノード

このトピックには、以下のセクションが含まれています。

目的

XSL (eXtensible Stylesheet Language) スタイルシートで規定されている規則によれば、 XMLTransformation ノードは、XML メッセージを XML メッセージの別のフォームに変換するために使用します。

以下の 3 つの方法のいずれかで、この変換に適用されるスタイルシートの位置を指定することができます。

  1. ノード・プロパティーを使用することができます。 ノード・プロパティーを使用すると、 この単一スタイルシートで定義されている変換がこのノードで処理されるすべてのメッセージに確実に適用されます。
  2. メッセージ自体内の XML データの内容を使用することができます。 これにより、メッセージ自体が定義するスタイルシートにしたがってメッセージが変換されます。
  3. メッセージと関連した LocalEnvironment フォルダー内に値を設定することができます。 メッセージの受信後にメッセージ・フロー内にこの値を (Compute ノードで) 設定する必要があるため、 こうすることにより、スタイルシートの動的選択が行えるようになります。 したがって、このメッセージに使用するスタイルシートを判別するためにさまざまな入力データ (メッセージ・データの内容またはデータベース内の値など) を使用することができます。

ワークベンチでは、XMLTransformation ノードは次のアイコンで表されます。

XMLTransformation ノード・アイコン

メッセージ・フロー内でのこのノードの使用

このノードの使用方法の例については、 2 つのニュース組織が定期的に情報を交換する方法を考慮してください。 1 つの組織はテレビ局であり、もう一方は新聞社とします。 情報は類似していますが、これら 2 つの組織で使用される用語は異なっています。 このノードは、指定されたスタイルシートの規則を適用することによって、 ある形式を別の形式に変換できます。 メッセージ内にスタイルシート (XML データまたは LocalEnvironment のいずれか) を指定する場合、 同じノードが両方の変換を実行することができます。

XMLTransformation ノードの構成

XMLTransformation ノードのインスタンスをメッセージ・フローに入れると、 XMLTransformation ノードを構成することができます。 エディター・ビューでノードを右マウス・ボタンでクリックし、 「プロパティー (Properties)」をクリックします。 ノードの基本プロパティーが表示されます。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、 プロパティー・ダイアログにアスタリスクが表示されます。

以下のように XMLTransformation ノードを構成します。

  1. 「XML 組み込み選択優先順位 (XML Embedded Selection Priority)」「メッセージ環境選択優先順位 (Message Environment Selection Priority)」、 および「WBI ブローカー・ノード属性選択優先順位 (WBI Brokers Node Attribute Selection Priority)」プロパティーの値を選択します。 設定する値は、スタイルシート情報の代替位置を検索する順序を判別します。 最高優先順位設定は 1 です。デフォルトの順序は、以下のとおりです。
    1. 「XML 組み込み選択優先順位 (XML Embedded Selection Priority)」1 というデフォルト値を持っています。ノードは、スタイルシート位置情報に関する XML データを検索します。たとえば、XML データには以下が含まれている場合があります。
      <xml-stylesheet type="text/xsl"href="foo.xsl">
    2. 「メッセージ環境選択優先順位 (Message Environment Selection Priority)」2 というデフォルト値を持っています。 ノードは、ComIbmXslXmltStylesheetname と呼ばれるエレメント内に保管されているスタイルシート情報に関する現行メッセージと関連した LocalEnvironment を検索します。

      このノードはバージョン 2.1 の SupportPac で使用可能であり、 スタイルシート名としてエレメント ComIbmXslMqsiStylesheetname が使用されていたため、 現行ノードは両方のエレメントをチェックします。 両方が存在する場合、ComIbmXslXmltStylesheetname 内の値が優先されます。

    3. 「WBI ブローカー・ノード属性選択優先順位 (WBI Brokers Node Attribute Selection Priority)」3 というデフォルトの値を持っています。 ノードは、ノード・プロパティー「スタイルシート名 (Stylesheet Name)」 および「スタイルシート・ディレクトリー (Stylesheet Directory)」を使用して、 正しい値を判別します。

    推奨されていませんが、複数のプロパティーを同じ値に設定することができます。 そのようにすると、ノードによって設定される優先順位の順序は、 上記に示されているようにデフォルトの順序になります。

    0 という値を設定する場合、 ノードは、スタイルシート ID の対応する位置を検索しません。 3 つのプロパティーすべてを 0 に設定すると、 実行時エラーが生成されます。

  2. ノード・プロパティーを使用してスタイルシートを指定する場合には、 「スタイルシート名 (Stylesheet Name)」に必要な値を入力します。 スタイルシート情報が検索され、希望する位置 (設定した選択優先順位値によって判別される) に見つかる場合、 この値は無視されます。
  3. スタイルシート ID が完全修飾されている場合、 「スタイルシート・ディレクトリー (Stylesheet Directory)」は、無視されます。 そうでない場合、このプロパティー内に設定されている値は、 見つかった場所に関係なく、その仕様の先頭に追加されます。
  4. 「スタイルシート・キャッシュ・レベル (Stylesheet Cache Level)」で、 このノードのインスタンスに保管されているコンパイル済みまたは解析済みのスタイルシートの数を指定します。 デフォルト値は 5 です。 スタイルシート・キャッシュは、ノードの存続期間中は保存されます。 これは、ノードがフローから削除されるとき、 フローが削除されるとき、または実行グループが停止されるときに消去されます。 スタイルシートを変更する場合は、 変更された (最新の) バージョンがキャッシュされたバージョンに優先して使用されます。 キャッシュをリフレッシュしたい場合は、 mqsireload コマンドを使用します。
  5. 出力メッセージに使用する文字セットを見つけるためにノードが有効な位置を検索する順序を指定するには、 プロパティー・ダイアログ・ナビゲーターで「出力文字セット (Output Character Set)」を選択します。 最高優先順位設定は 1 です。デフォルトの順序は、以下のとおりです。
    1. 「メッセージ環境選択優先順位 (Message Environment Selection Priority)」1 というデフォルト値を持っています。 ノードは、ComIbmXslXmltOutputcharset と呼ばれるエレメント内に保管されている文字セット情報に関する現行メッセージと関連した LocalEnvironment を検索します。

      たとえば、変換の出力を utf-8 としてエンコードするには、 このエレメント内のストリングとして 1208 を入力します。

      このノードはバージョン 2.1 の SupportPac で使用可能であり、 出力文字セットとしてエレメント ComIbmXslMqsiOutputcharset が使用されていたため、 現行ノードは両方のエレメントをチェックします。 両方が存在する場合、ComIbmXslXmltOutputcharset 内の値が優先されます。

    2. 「WBI ブローカー・ノード属性選択優先順位 (WBI Brokers Node Attribute Selection Priority)」2 というデフォルトの値を持っています。 ノードは、プロパティー「出力文字セット (Output Character Set)」を使用して、正しい値を判別します。

      「出力文字セット (Output Character Set)」に値を設定する場合、 入力する値は、数値でなければなりません。 たとえば、変換の出力を UTF-16 としてエンコードするには、 1200 を入力します。

    推奨されていませんが、複数のプロパティーを同じ値に設定することができます。 そのようにすると、ノードによって設定される優先順位の順序は、 上記に示されているようにデフォルトの順序になります。

    0 という値を設定する場合、 ノードは、文字セット ID の対応する位置を検索しません。

    値が設定されていないか、選択優先順位が 0 に設定されているために、 ノードがこれらの 2 つのソースのどちらからも出力文字セットを判別できない場合は、 デフォルト値 1208 (UTF8) が使用されます。 (XSL 仕様は、出力文字セットをスタイルシートに指定できることを示しています。 ただし、XMLTransformation ノードはこの値を無視します。)

  6. XMLTransformation ノードのアクションをトレースするには、 プロパティー・ダイアログ・ナビゲーターで「詳細のトレース (Detail Trace)」を選択します。 「詳細のトレース (Detail Trace)」プロパティーのデフォルト値は Off です。 トレースをアクティブにするには、 プロパティーを On に設定します。

    トレース情報は、トレース・ファイル XMLTTrace.log に書き込まれます。

    • z/OS システムでは、 ファイルは <broker_dir>/output にあります (<broker_dir> は、ブローカーのインストール先ディレクトリー)。
    • Windows システムでは、ファイルは <install_dir>\bin にあります。
    • UNIX システムでは、ファイルはメッセージ・ブローカーが開始されたディレクトリーにあります。

    ここで、<install_dir> は、 WebSphere Business Integration Message Broker のインストール先のディレクトリーです。

    1 つの XMLTransformation ノードに関して詳細トレースをオンに設定すると、 実行グループ内のすべてのノードに関してオンになります。

  7. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明 (Description)」を選択します。
  8. 「適用 (Apply)」をクリックすると、 プロパティー・ダイアログを閉じずに XMLTransformation ノードが変更されます。 「OK」をクリックすると、 変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル (Cancel)」をクリックすると、ダイアログを閉じてプロパティーの変更をすべて破棄します。

ターミナルおよびプロパティー

XMLTransformation ノード・ターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure 変換でエラーが検出された場合に、オリジナル・メッセージがルーティングされる出力ターミナル。
Out 正常に変換されたメッセージがルーティングされる出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、 プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、 プロパティー・ダイアログにアスタリスクのマークが付きます)。C の見出しの列は、 プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、 値を変更できます)。

XMLTransformation ノードの「スタイルシート (Stylesheet)」プロパティーについては、 以下の表で説明しています。

プロパティー M C デフォルト 説明
XML 組み込み選択優先順位 (XML Embedded Selection Priority) はい いいえ 1 XML データ内のスタイルシート位置情報を検索するための優先順位の値。
メッセージ環境選択優先順位 (Message Environment Selection Priority) はい いいえ 2 現行メッセージの LocalEnvironment フォルダー内のスタイルシート位置情報を検索するための優先順位の値
WBI ブローカー・ノード属性選択優先順位 (WBI Brokers Node Attribute Selection Priority) はい いいえ 3 ノードのプロパティーとしてスタイルシート位置情報を検索するための優先順位の値
スタイルシート名 (Stylesheet Name) いいえ はい   スタイルシートの名前。 スタイルシート仕様がノード・プロパティー内で検索される場合に使用されます。
スタイルシート・ディレクトリー (Stylesheet Directory) いいえ はい   スタイルシートが位置付けられているパス。 すべての位置メソッドによって使用されます。
スタイルシート・キャッシュ・レベル (Stylesheet Cache Level) いいえ いいえ 5 このノードのインスタンス内に保管されているコンパイル済みまたは解析済みのスタイルシートの数。

XMLTransformation ノードの「出力文字セット (Output Character Set)」プロパティーについては、 以下の表で説明しています。

プロパティー M C デフォルト 説明
メッセージ環境選択優先順位 (Message Environment Selection Priority) はい いいえ 1 現行メッセージの LocalEnvironment フォルダー内の出力文字セット ID を検索するための優先順位の値。
WBI ブローカー・ノード属性選択優先順位 (WBI Brokers Node Attribute Selection Priority) はい いいえ 2 ノードのプロパティーとして出力文字セット ID を検索するための優先順位の値。
出力文字セット (Output Character Set) いいえ いいえ   出力文字セットの数値。

XMLTransformation ノードの「詳細のトレース (Detail Trace)」プロパティーについては、 以下の表で説明しています。

プロパティー M C デフォルト 説明
トレースの設定 (Trace Setting) はい いいえ Off トレースがオンかオフか。 トレースがオンである場合、ファイル内で低レベルのトレースが記録されます。

XMLTransformation ノードの「説明 (Description)」プロパティーについては、以下の表で説明しています。

プロパティー M C デフォルト 説明
簡略説明 (Short Description) いいえ いいえ   ノードの簡単な説明
詳細説明 (Long Description) いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

関連概念
メッセージ・フロー
LocalEnvironment ツリー

関連タスク
使用するノードの決定
メッセージ・フローのエラー処理
構成可能プロパティーの編集

関連資料
mqsireload コマンド
Compute ノード