cniElementNamespace

指定した構文エレメントの namespace 属性の値を取得します。 この構文エレメント名は、cniSetElementNamespace または cpiSetElementNamespace を使用して事前に設定されています。

これは、ネーム・スペースが認識するドメインに属するメッセージをビット・ストリームに変換する際に使用されます。

構文

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

パラメーター

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

戻り値

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

   if (element != 0) {
        /*get name*/
        cniElementName(&rc, element, (CciChar*)&elementName, sizeof(elementName));

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

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

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

関連資料
cciGetLastExceptionData
cniElementName
cniSearchElementInNamespace グループ
cniSetElementNamespace
cpiSetElementNamespace