この関数を使用して、構文エレメントを、指定した構文エレメントの最後の子として作成し、指定したパーサー・クラス名にこれを関連付けます。
パーサーによって所有される構文エレメント・ツリーの部分は、エレメントの最初の世代 (つまり、ルートのすぐ下にある子) に存在する有効なルートだけ を所有できます。ユーザー定義ノード・インターフェースは、異なるパーサーによって所有されると思われるサブツリーを作成する機能を制限しません。 ただし、メッセージの生成時には、これらのエレメント・ツリーをビット・ストリームに逐次化することはできません。
WebSphere® Message Broker が提供しているパーサーの名前を指定する場合、パーサーの正しいクラス名を使用しなければなりません。 提供されているパーサーのリストについては、C ノード・インプリメンテーション関数 をご覧ください。
BLOB パーサーの内部名は none です。そのため、BLOB パーサー・フォルダーを作成するためにこの機能を使用する場合、関連付けられたパーサー名を none にする必要があります。
CciElement* cniCreateElementAsLastChildUsingParser(
int* returnCode,
CciElement* targetElement,
const CciChar* parserClassName);
成功した場合、新規エレメント・オブジェクトのアドレスが戻されます。 失敗した場合、ゼロの値 (CCI_NULL_ADDR) が戻され、returnCode パラメーターがエラーの理由を示します。
cniElementName(&rc, firstChild, elementName);
CciElementType type = cniElementType(&rc, firstChild);
CciElement* lastChild = cniCreateElementAsLastChildUsingParser(
&rc,
outRootElement,
parserName);
cniSetElementName(&rc, lastChild, elementName);
cniSetElementType(&rc, lastChild, elementType);