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, 2005 Last updated: 11/07/2005
as07744_