MbsMessageAssembly クラスは、メッセージ・フロー内のノード間を伝搬されるメッセージ・アセンブリーを表します。
assembly が MbsMessageAssembly のインスタンスである場合、以下のコードを使用して、4 つのコンポーネント・ツリーにアクセスできます。
MbsMessage message = $assembly[MB_MESSAGE];
MbsMessage local_env = $assembly[MB_LOCAL_ENVIRONMENT];
MbsMessage global_env = $assembly[MB_GLOBAL_ENVIRONMENT];
MbsMessage ex_list = $assembly[MB_EXCEPTION_LIST];
MbsMessageAssembly クラスは、以下の表で示されている API メソッドを提供します。 大括弧内のパラメーターはオプションです。
メソッド | 説明 |
---|---|
Constructor(MbsMessageAssembly $assembly, MbsMessage $msg [, MbsMessage $local_env [, MbsMessage $exception_list]]) | 指定されたテンプレート・アセンブリーに基づいて、新規メッセージ・アセンブリー・オブジェクトをインスタンス化します。 アセンブリーのメッセージは、msg パラメーターで渡されたメッセージで置き換えられます。 その他の論理ツリーも、関連パラメーターが提供されている場合は置き換えることができます。 関連パラメーターが提供されていない場合は、テンプレート・アセンブリーからのツリーが使用されます。 |
int getType() | メッセージ・ツリーのルート・エレメントの固有のタイプを戻します。 |
array xpath(string $expression [, array $namespace]) | ルートの最後の子 (BODY 要素) をコンテキスト・ノードとして使用して XPath 式を評価します。 結果をストリング、倍精度、ブール、または MbsElement オブジェクトの配列でのノードセットのいずれかで戻します。 オプションの namespace パラメーターは、キーとしてネーム・スペース接頭部があり、値としてネーム・スペース URI がある結合配列です。 |
MbsElement getChild(string $name [, int $occurrence]) | 名前が最初のパラメーターにより付与される、メッセージ・ツリーのルート・エレメントの最初の子を戻します。 2 番目のオプション・パラメーターを指定することによって、子の n 番目のオカレンスを返すことができます。 |
array getChildren([string $namespace]) | メッセージ・ツリーのルート・エレメントのすべての子エレメントを、MbsElements の配列として戻します。 namespace パラメーターが指定された場合、配列にはそのネーム・スペース URI を持つ子エレメントのみが入ります。 |
MbsElement getFirstChild() | メッセージ・ツリーのルート・エレメントの最初の子を戻します。 |
MbsElement getLastChild() | メッセージ・ツリーのルート・エレメントの最後の子を戻します。 |
MbsElement addElement(string $name, object $value [, string $namespace [, int $type [, int $position]]]) | エレメントをメッセージ・ツリーのルート・エレメントの最後の子 (デフォルト) として作成します。 オプションの type パラメーターは、パーサー固有タイプの新規ノードです (XML パーサーの場合は XML エレメント・タイプがデフォルト)。 オプションの position パラメーターは、以下のいずれかの値にすることができます。
|
MbsElement addDomainElement(string $domainName) | ドメイン・エレメントを作成します。 |
void detachAllChildren() | メッセージ・ツリーのルート・エレメントのすべての子エレメントを切り離します。 |
string asBitstream([array $options]) | エレメント・ツリーを直列化して、ビット・ストリームを生成します。 MRM パーサー (および他のパーサー) を使用する場合、options 配列には以下のキー/値のペアを取り込む必要があります。
|
void addElementFromBitstream(string $bitstream [, array $options]) | エレメント・ツリーを提供されたビット・ストリームから作成します。 options の提供がない場合、ビット・ストリームはメッセージ・ツリーのルート・エレメントのパーサーで構文解析され、その最後の子として付加されます (この場合、ドメイン・エレメントは作成されません)。 options が提供される場合、それにはキー/値のペア 'domain' => '<parserDomain>' と、MRM パーサーの任意の追加オプションが含まれなければなりません (asBitstream() を参照)。 この場合、パーサー・エレメントは新規サブツリーのヘッドで作成され、メッセージ・ツリーのルート・エレメントの最後の子として付加されます。 |
void propagate(string $terminalName) | メッセージ・アセンブリーを、パラメーター terminalName によって付与された出力ターミナルに伝搬します。 |
void routeToLabel(string $labelName) | メッセージ・アセンブリーを、パラメーター labelName によって付与された Label ノードに経路指定します。 |