WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

cniSearchElementInNamespace グループ

このエレメントを使用して、指定した条件に一致するエレメントを検索します。

検索は、エレメント引数で指定した構文エレメントから開始し、 4 つの関数のそれぞれは、以下のようにツリーの異なる方向への検索を提供します。
  1. cniSearchFirstChildInNamespace は、 スタート・エレメントの直接の子エレメントを最初の子から検索し、 一致するものが見つかるまで、または子エレメント・チェーンの終端に到達するまでそれを続行します。
  2. cniSearchLastChildInNamespace は、 スタート・エレメントの直接の子エレメントを最後の子から検索し、 一致するものが見つかるまで、または子エレメント・チェーンの終端に到達するまでそれを続行します。
  3. cniSearchNextSiblingInNamespace は、 スタート・エレメントから次の兄弟までを検索し、 一致するものが見つかるまで、または兄弟チェーンの終端に到達するまでそれを続行します。
  4. cniSearchPreviousSiblingInNamespace は、 スタート・エレメントから直前の兄弟までを検索し、 一致するものが見つかるまで、または兄弟チェーンの終端に到達するまでそれを続行します。

この関数は、ネーム・スペースが認識するドメインに属するメッセージを検索する際に使用します。

構文

void cniSearchFirstChildInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchLastChildInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchNextSiblingInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchPreviousSiblingInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	CciElementType type,
	const CciChar* nameSpace,
	const CciChar* name)		

パラメーター

returnCode
関数からの戻りコード (出力)。 NULL ポインターを指定すると、 ノードがエラーを処理しないことを示します。 入力が NULL でない場合、出力は呼び出しの成功状況を示します。 この呼び出しの実行時にスローされた例外はすべて、フロー内の次のアップストリーム・ノードに対して再度スローされます。 この例外の詳細については、cciGetLastExceptionData を呼び出してください。
考えられる戻りコードは以下のとおりです。
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
検索を開始する構文エレメント・オブジェクトのアドレス (入力)。
mode
使用する検索モード (入力)。 このパラメーターでは、検索対象のエレメント・ネーム・スペース、エレメント名、およびエレメント・タイプの組み合わせを指定します。可能な値は以下のとおりです。
  • CCI_COMPARE_MODE_SPACE
  • CCI_COMPARE_MODE_SPACE_FULL_TYPE
  • CCI_COMPARE_MODE_SPACE_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPACE_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME
  • CCI_COMPARE_MODE_SPACE_NAME_FULL_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_NULL
比較モードにネーム・スペースの突き合わせが関係しない場合には、 すべてのネーム・スペースが検索されます。 この動作は、cniSearchElement グループの動作 (空ストリングのネーム・スペースだけが検索される) とは異なります。 有効なモードのいずれかを指定する際には、nameSpace パラメーターを空ストリングに設定します。
type
検索するエレメント・タイプ (入力)。 このパラメーターは、検索モードにタイプの一致が関係する場合にのみ使用されます。
nameSpace
検索するネーム・スペース (入力)。 このパラメーターは、検索モードにネーム・スペースの一致が関係する場合にのみ使用されます。
name
検索する名前 (入力)。 このパラメーターは、検索モードに名前の一致が関係する場合にのみ使用されます。

戻り値

なし。 エラーが発生した場合、returnCode パラメーターがエラーの理由を示します。

 mode=CCI_COMPARE_MODE_SPACE ;
 ...

   if (forward) {
      firstChild = cniSearchFirstChildInNamespace(&rc, element, mode, space, 0,0);
    }else{
      firstChild = cniSearchLastChildInNamespace(&rc, element, mode, space, 0,0);

    }

    if (firstChild) {
      depth++;
      traceElement(firstChild,forward,space);
      depth--;
    }
    currentElement = firstChild;
    do{

      if (forward) {
        nextSibling = cniSearchNextSiblingInNamespace(&rc, currentElement,mode,space,0,0);
      }else{
        nextSibling = cniSearchPreviousSiblingInNamespace(&rc, currentElement,mode,space,0,0);
      }
      if (nextSibling) {
        traceElement(nextSibling,forward,space);
        currentElement=nextSibling;
      }

    }while (nextSibling) ;
    
  }
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:04


参照トピック参照トピック | バージョン 8.0.0.5 | as07744_