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 に設定されます。
考えられる戻りコードは以下のとおりです。
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_DATA_POINTER
  • CCI_INV_DATA_BUFLEN
  • CCI_INV_BUFFER_TOO_SMALL
targetElement
ターゲットの構文エレメント・オブジェクトのアドレスを指定します。
value
エレメント・ネーム・スペース値のコピー先のバッファーのアドレスを指定します。 ネーム・スペース値を表す文字列 (NULL 終了文字を含む) がこのバッファーにコピーされます。 このバッファーは、呼び出し側によって以前に割り振られたメモリーの一部でなければなりません。
length
value パラメーターで指定される、バッファーの長さ (CciChar 単位)。

戻り値

成功した場合、バッファーにコピーされた CciChar の数が戻されます。

バッファーの大きさが不十分で属性値を含めることができない場合、returnCode は CCI_BUFFER_TOO_SMALL に設定され、必要なバイト CciChar の数が戻されます。

サンプル

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
C パーサー・インプリメンテーション関数
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as08105_