プロパティ取得関数(任意の名称)

機能

関数名(xxxxxxxxx)は,ユーザが1~128バイト以内で定義してください。

処理対象文書クラスのプロパティ値を取得します。プラグイン環境設定ファイル(PlugInconfig.ini)のfunctionセクションのArgvエントリに指定したプロパティが,取得対象となります。指定できるプロパティは,データ型がString,Integer32,またはBoolearnである文書オブジェクトのユーザプロパティです。

この関数は,テキスト抽出フィルタプラグインライブラリによるテキスト抽出が成功し,さらに抽出したテキストのデータベースへのインデクス登録が成功した場合に呼び出されます。テキスト抽出フィルタプラグインライブラリによるテキスト抽出が失敗した場合は,書誌情報のデータベースへのインデクス登録が成功しても,この関数は呼び出されません。

形式

int  xxxxxxxxx (
    Idx_DocumentInfo *DocumentInfo,
    int argc,
    Idx_Prop argv[]);

引数

DocumentInfo《入力》
Idx_DocumentInfo構造体を指定します。Idx_DocumentInfo構造体には,処理対象文書オブジェクトのシステムプロパティ情報を指定します。
argc《入力》
argvの要素を指定します。argvの要素は,プラグイン環境設定ファイル(PlugInconfig.ini)のfunctionセクション内に指定したArgvエントリの数です。
argv《入力》
Idx_Prop構造体の配列を指定します。Idx_Prop構造体の配列の要素は,プラグイン環境設定ファイル(PlugInconfig.ini)のfunctionセクション内に指定したArgvエントリの順番に作成します。Idx_Prop構造体の配列の要素数は,functionセクション内に指定したArgvエントリの数です。

戻り値

戻り値内容テキストインデクサーの対処
0正常終了処理を継続します。
正の値プロパティ値の取得処理に失敗しました。この値は,ユーザが定義します。ワーニングメッセージKMBV12254-Wを出力し,文書のインデクス登録処理を継続します。
負の値プロパティ値の取得処理に失敗しました。この値はユーザが定義します。エラーメッセージKMBV12309-Eを出力し,文書のインデクス登録処理を中断し,コマンドを終了します。

注意事項

構造体の定義

struct IDX_PROP{
  char           *pidxPropName;   //プロパティ名
  unsigned long   idxDataSize;    //プロパティ値の領域長
  union {                         //プロパティの値
  int            *pidxBoolearn;   //Boolearn型
  int            *pidxInteger32;  //Integer32型
  char           *pidxString;     //String型
} unvalue;
} Idx_Prop;

pidxPropName
プロパティ名を設定します。この値は,プラグイン環境設定ファイル(PlugInconfig.ini)のfunctionセクションのArgvエントリに指定したプロパティ名です。
共用体uniValueのメンバ
idxDataSizeにはプロパティ値の領域長を指定します。
文書オブジェクトのユーザプロパティ値は,共用体uniValueのメンバpidxBoolearn,pidxInteger32,pidxStringのうち,プロパティに設定されたデータ型と同一のデータ型の領域に設定されます。
なお,該当するプロパティがデータベースのNULL値の場合は,NULLが設定されます。