cniSearchElement グループ

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

このコマンドを使用して、ネーム・スペースが認識するドメインに属するメッセージ内のエレメントを検索する場合、 ネーム・スペースが空ストリングになっているエレメントに対してのみ検索が実行されます。 任意のネーム・スペースでエレメントを検索する場合は、 cniSearchElementNamespace コマンドの 1 つを使用します。

構文

CciElement* cniSearchFirstChild(
    int*                        returnCode,
    CciElement*     targetElement,
    CciCompareMode* mode,
    CciElementType  type,
  CciChar         name);
CciElement* cniSearchLastChild(
    int*                        returnCode,
    CciElement*     targetElement,
    CciCompareMode* mode,
    CciElementType  type,
  CciChar         name);
CciElement* cniSearchNextSibling(
    int*                        returnCode,
    CciElement*     targetElement,
    CciCompareMode* mode,
    CciElementType  type,
  CciChar         name);
CciElement* cniSearchPreviousSibling(
    int*                        returnCode,
    CciElement*     targetElement,
    CciCompareMode* mode,
    CciElementType  type,
  CciChar         name);

パラメーター

returnCode
関数からの戻りコード (出力)。
targetElement
検索を開始する構文エレメント・オブジェクトのアドレス (入力)。
mode
使用する検索モード (入力)。 これは、検索されるエレメント・タイプおよびエレメント名の組み合わせを示します。 可能な値は以下のとおりです。
  • CCI_COMPARE_MODE_FULL
  • CCI_COMPARE_MODE_FULL_TYPE
  • CCI_COMPARE_MODE_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_NAME
  • CCI_COMPARE_MODE_NAME_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_NAME_GENERIC_TYPE
  • CCI_COMPARE_MODE_NAME_FULL_TYPE
  • CCI_COMPARE_MODE_NULL
type
検索するエレメント・タイプ (入力)。 これは、検索モードにタイプの一致が関係する場合にのみ使用されます。
name
検索するエレメント名 (入力)。 これは、検索モードに名前の一致が関係する場合にのみ使用されます。

    int rc;
    CciElement* firstChild = cniSearchFirstChild(
                                                                                                                &rc,
                                                                              inRootElement,
                                                                              CCI_COMPARE_MODE_NAME,
                                                                                              elementName,
                                                                       0);

戻り値

  • 成功した場合、要求された構文エレメント・オブジェクトのアドレスが戻されます。
  • 一致するエレメントがない場合、ゼロが戻されます。
  • エラーが発生した場合、ゼロ (CCI_NULL_ADDR) が戻され、returnCode パラメーターがエラーの理由を示します。

関連概念
ユーザー定義のメッセージ処理ノード
ユーザー定義の出力ノード

関連タスク
C でのメッセージ処理ノードの作成

関連資料
C 言語ノード・ユーティリティー関数
cniFirstChild
cniLastChild
cniNextSibling
cniParent
cniPreviousSibling
cniRootElement
cniSearchElementInNamespace グループ