cpiSetNextParserClassName

目的

パーサーに、チェーンにある次のパーサーを通知するためのオプションの関数。 これは、終了処理中に呼び出され、ユーザー定義パーサーに、チェーンの次のパーサー・クラスの名前を含むストリングを戻します。これによって、パーサーは終了フェーズ中にアクションを実行して、 ビット・ストリームの逐次化を引き起こすフェーズの前に、 構文エレメント・ツリーを変更することができます。

WebSphere Message Broker が提供しているパーサーの名前を指定する場合、パーサーの正しいクラス名を使用しなければなりません。

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

構文

void cpiSetNextParserClassName(
  CciParser*     parser,
  CciContext* context,
  CciChar*     name,
  CciBool      parserType);
 

パラメーター

parser
パーサー・オブジェクトのアドレス (入力)。
context
パーサー・オブジェクトが所有するコンテキストのアドレス (入力)。
name
CciChar 文字のストリングでの次のパーサーの名前。
parserType
参照されるパーサーが標準 (parserType=0) または非標準 (parserType=non-zero) のどちらであるかを示します (入力)。 標準パーサーは、チェーンにある先行ヘッダーの Format フィールドが、 続くパーサー・クラスの名前を含んでいることを予期します。 非標準パーサーは、Domain フィールドがパーサー・クラス名を含んでいることを予期します。

戻り値

なし。

サンプル

この例は、サンプル・パーサー・ファイル BipSampPluginParser.c から取られています (763 行から 787 行)。

void cpiSetNextParserClassName(
  CciParser*     parser,
  CciContext* context,
  CciChar*     name,
  CciBool     isHeaderParser
){
  PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
  int rc = 0;

  /* Save the name in my context */
  CciCharNCpy(pc->iNextParserClassName, name, CciCharLen(name));

  if (pc->trace) {
    fprintf(pc->tracefile, "PLUGIN: <- cpiSetNextParserClassName()¥n");
    fflush(pc->tracefile);
  }

  return;
}
関連概念
ユーザー定義のパーサー
ユーザー定義拡張機能
関連タスク
C でのパーサーの作成
関連資料
C パーサー・インプリメンテーション関数
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as08200_