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, 2006 最終更新: 08/21/2006
as07744_