cpiElementNameSpace

目的

指定した構文エレメントの "namespace" 属性の値を取得します。

定義されている場所 タイプ メンバー
CPI_VFT オプション iFpElementValue

構文

CciSize cpiElementNamespace(
		int*		     returnCode,
		CciElement*     targetElement,
		const CciChar* value,
          CciSize        length);

パラメーター

returnCode
NULL ポインターを入力すると、プラグイン・ノードがエラーを処理しないことを示します。 この呼び出しの実行時にスローされた例外は、フロー内の次のアップストリーム・ノードに対して再度スローされます。 入力が NULL でない場合、出力は呼び出しの成功状況を示します。 実行時に例外が発生する場合、出力時に *returnCode が CCI_EXCEPTION に設定されます。 CciGetLastExceptionData を呼び出すと、例外の詳細が提供されます。 呼び出し側がネーム・スペース値を保持するのに十分なメモリーを割り振っていない場合、*returncode が CCI_BUFFER_TOO_SMALL に設定されます。
targetElement
ターゲットの構文エレメント・オブジェクトのアドレスを指定します。
value
エレメント・ネーム・スペース値のコピー先のバッファーのアドレスを指定します。 ネーム・スペース値を表す文字列 (NULL 終了文字を含む) がこのバッファーにコピーされます。 このバッファーは、呼び出し側によって以前に割り振られたメモリーの一部でなければなりません。
length
value パラメーターで指定される、バッファーのバイト単位の長さ。

戻り値

成功した場合、バッファーにコピーされた CciChar の数が戻されます。 バッファーの大きさが不十分でネーム・スペース値を含めることができない場合、必要なバイト数が戻されます (さらに、returnCode が CCI_BUFFER_TOO_SMALL に設定されます)。

サンプル

      elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
          elementNamespaceLength = cpiElementNamespace(&rc;,
                                                                           element,
                                                                           elementNamespace,
                                                                           elementNamespaceLength);
    
        if (rc==CCI_BUFFER_TOO_SMALL){
            free(elementNamespace);
            elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
            elementNamespaceLength = cpiElementNamespace(&rc;,
                                                                           element,
                                                                           elementNamespace,
                                                                           elementNamespaceLength);
    }
       checkRC(rc);

関連概念
ユーザー定義のパーサー
ユーザー定義拡張機能

関連タスク
C でのパーサーの作成

関連資料
cpiSetElementNamespace
パーサー・インプリメンテーション関数