cniElementNamespace

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

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

構文

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

パラメーター

returnCode
関数からの戻りコード (出力)。NULL ポインターを指定すると、 ノードがエラーを処理しないことを示します。 入力が NULL でない場合、出力は呼び出しの成功状況を示します。 この呼び出しの実行時にスローされた例外は、フロー内の次のアップストリーム・ノードに対して再度スローされます。 この例外の詳細については、cciGetLastExceptionData を呼び出してください。
考えられる戻りコードは以下のとおりです。
  • 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 の数が戻されます。
  • バッファーの大きさが不十分で属性値を含めることができない場合、returnCode は CCI_BUFFER_TOO_SMALL に設定され、必要な CciChar の数が戻されます。
  • 実行時に例外が発生する場合、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);
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as07742_