XSLTransform ノードは、ノードのプロパティーに設定された値を動的に変更するために使用できる、いくつかのローカル環境メッセージ・ツリー変数をサポートします。
ローカル環境変数名 | ノードのプロパティー名 |
---|---|
XSL.StyleSheetName | スタイルシート名 |
XSL.MessageDomain | メッセージ・ドメイン |
XSL.MessageSet | メッセージ・セット |
XSL.MessageType | メッセージ・タイプ |
XSL.MessageFormat | メッセージ形式 |
XSL.OutputCharSet | 文字セット |
<?xml-stylesheet type="text/xsl" href="me.xsl"?>
この場合、"me.xsl" がスタイル・シートの名前として使用されます。入力メッセージ内にスタイル・シート名が見つからない場合、ノードは、XSL.StyleSheetName と呼ばれるエレメント内に保管されているスタイルシート情報に関する現行メッセージと関連したローカル環境を検索します。
このノードはバージョン 6.0 で使用可能であり、スタイル・シートの名前としてエレメント ComIbmXslXmltStylesheetname が使用されていたため、現行ノードは両方のエレメントをチェックします。 両方が存在する場合、XSL.StyleSheetName 内の値が優先されます。
入力メッセージまたはローカル環境内にスタイル・シート名が見つからない場合、ノードは、「スタイルシート名」 および「スタイルシート・ディレクトリー」プロパティーを使用して、正しい値を判別します。
ノードは、XSL.MessageDomain、XSL.MessageSet、XSL.MessageType、および XSL.MessageFormat と呼ばれるエレメントに保管されている、メッセージ・ドメイン、メッセージ・セット、メッセージ・タイプ、およびメッセージ形式情報に関して、現在のメッセージに関連付けられているローカル環境を検索します。
メッセージ・ドメイン、メッセージ・セット、メッセージ・タイプ、またはメッセージ形式に関する情報がローカル環境変数内で見つからなかった場合、ノードは「メッセージ・ドメイン」、「メッセージ・セット」、「メッセージ・タイプ」、および「メッセージ形式」プロパティーを使用して、正しい値を判別します。
ノードは、XSL.OutputCharSet と呼ばれるエレメント内に保管されている文字セット情報に関する現行メッセージと関連したローカル環境を検索します。 例えば、変換の出力を UTF-8 としてエンコードするには、このエレメント内のストリングとして値 1208 を入力します。
このノードはバージョン 6.0 で使用可能であり、出力文字セットとしてエレメント ComIbmXslXmltOutputcharset が使用されていたため、現行ノードは両方のエレメントをチェックします。 両方が存在する場合、XSL.OutputCharSet の値が優先されます。
ローカル環境内で文字セット情報が見つからない場合、ノードは、「文字セット」プロパティーを使用して、正しい値を判別します。
「文字セット」に値を設定する場合、入力する値は数値でなければなりません。例えば、変換の出力を UTF-16 としてエンコードするには、1200 を入力します。
XSLTransform ノードへの入力が XMLNSC パーサーまたは MRM パーサーから生成される場合、以下の要因に注意してください。 先行するノード上でプロパティーがこの情報を保存するように設定されていない場合は、 XMLNSC パーサーは、XML 文書の特定の情報 (処理命令およびコメントなど) を廃棄します。 XSLTransform ノードが必ずメッセージを正しく変換するように、前のノード (例えば MQInput ノード) で、「混合内容の保存」、「コメントの保存」、および「処理命令の保存」プロパティーを適切に設定します。 MRM パーサーは、また、この情報を廃棄しますが、このパーサー用に情報を保存することはできません。 したがって、そのような情報が変換にとって不可欠な場合は、MRM ドメインの使用を回避します。