機能
抽出のための検索式とその検索式が真となった場合の、出力ファイルおよびリターン式を登録します。
#include "libAsis.h" /* 公開ヘッダ */ int AsisAddQuerySelect( ASISHANDLE SHandle, /* ハンドル */ char *Query, /* 検索式 */ int WMode, /* 出力モード */ char *OutFile, /* 出力ファイル */ char *QueryID, /* 検索番号 */ char *Return, /* リターン式 */ char *Reserve1); /* 予備 */ |
パラメタ
データ型 | パラメタ | 用途 | 説明 |
---|---|---|---|
ASISHANDLE | SHandle | 入力 | ハンドルを指定します。 |
char* | Query | 入力 | 検索式を指定します。 |
int | 入力 | ファイルの出力モードを指定します。 | |
char* | 入力 | 結果の出力先ファイルおよび出力方法を指定します。登録する検索式が1つの場合だけ、本パラメタにNULL指定できます。その場合、標準出力を出力先とすることができます。 | |
char* | 入力 | 登録する検索式に付ける検索番号を指定します。 | |
char* | Return | 入力 | リターン式を指定します。 |
char* | Reserve1 | 予備 | NULLを指定します。 |
WMode | 追記 | 上書き | 見出し行の出力 |
---|---|---|---|
0 | × | ○ | ○ |
1 | ○ | × | ○(注) |
2 | × | ○ | × |
○:適応する
×:適応しない
注)出力モードに1を指定した場合、指定したファイルがすでに存在し、ファイルのサイズが1以上のときは、見出し行は出力されません。
出力先および出力方法を指定します。
入力ファイルタイプがCSVの場合で、見出し行とデータ行を別ファイルに分けて出力したいときは、以下のように指定します。
指定されたスキーマ情報ファイルには、見出し行だけを出力し、物理ファイルにはデータを出力します。
出力モード指定に0を指定した場合に、スキーマ情報ファイルと物理ファイルに分けて出力します。
参照
PathNameCompatibilityの詳細については“C.5.1 AsisSetEnvironment”のPathNameCompatibilityを参照してください。
注意
スキーマ情報ファイルと物理ファイルの扱い
指定の組合せと出力先を以下に示します。
指定例 | 出力先 | |
---|---|---|
スキーマ情報ファイル | 物理ファイル | |
スキーマ情報ファイル名;物理ファイル名 | 指定したファイル | 指定したファイル |
;物理ファイル名 | 作成されない | 指定したファイル |
スキーマ情報ファイル名; | 指定したファイル | 標準出力 |
; | 作成されない | 標準出力 |
見出し行とデータ行に分けて標準出力へ出力することはできません。
スキーマ情報ファイル名と物理ファイル名には、セミコロン(;)を含むことはできません。AsisSetEnviroment関数の環境パラメタPathNameCompatibilityに"0"を指定せずにセミコロン(;)を指定した場合、セミコロンはファイル名の一部と認識します。
出力モードに1または2を指定した場合、スキーマ情報ファイルと物理ファイルに分けて指定することはできません。
復帰値
復帰値 | 説明 |
---|---|
正数値 | 検索番号を示します。 |
ASIS_ERROR | 関数の実行時に問題が検出されたことを示します。 |
関数の利用規則
登録可能な検索式の数は最大30までです。
テキストノード中のコメントセクションまたは処理命令をまたがった文字列検索は行えません。またパターン検索のうち、文字間隔指定、ワード間隔指定および任意文字指定では、テキストノード中にコメントセクションまたは処理命令が含まれている場合、かつ、その前後にキーワードがある場合には文字数判定が行えません。
例
データ | キーワード | 検索方法 | 検索結果 |
---|---|---|---|
ABC<!--コメント-->DEF | 'AB,2C,EF' | 文字間隔指定検索 | ヒットしません |
'ABC.?DEF' | 任意文字指定検索 | ||
AB<? DE ?>EF | 'AB,2C,EF' | 文字間隔指定検索 | |
'AB.?CD' | 任意文字指定検索 |
注意
V9.1系では、以下のデータを含む場合の抽出処理動作が変更されました。
コメントセクション
CDATAセクション
処理命令
混在内容
詳細については、“C.5.1 AsisSetEnvironment”の環境パラメタTextNodeCompatibilityを参照してください。