(PHP 4 >= 4.0.5)
yaz_scan -- スキャンの準備をする
説明
int
yaz_scan ( int id, string type, string startterm [, array flags])
この関数は、Z39.50スキャンリクエストの準備をします。引数
id はターゲットIDです。スキャンを開始する
言葉の場所は、starttermで指定します。
開始語を指定する形式は、typeで指定します。
現在、rpn型がサポートされています。
オプションのflagsによりスキャンリクエスト
の動作を制御する追加情報を指定します。現在、次の3つの添字が、現在、
flagsから読み込まれます。
number (リクエストされた語の数)、
position (要求された語の位置)、
stepSize (要求されたステップ数)。
実際にスキャンリクエストをターゲットに送信し、スキャンレスポンス
を受信する際には、yaz_wait()をコールする必要が
あります。yaz_wait()が完了した後、応答を処理す
るために、yaz_error() および
yaz_scan_result()をコールします。
starttermの構文は、
yaz_search()で説明いたRPNクエリに似ています。
starttermは、ゼロ以上の@attr演算子の後にトーク
ンが一つだけ続く形式となります。
例 1タイトルをスキャンするPHP関数 function scan_titles($id, $starterm) {
yaz_scan($id,"rpn", "@attr 1=4 " . $starterm);
yaz_wait();
$errno = yaz_errno($id);
if ($errno == 0) {
$ar = yaz_scan_result($id,&$options);
echo 'Scan ok; ';
$ar = yaz_scan_result($id, &$options);
while(list($key,$val)=each($options)) {
echo "$key = $val ";
}
echo '<br><table><tr><td>';
while(list($key,list($k, $term, $tcount))=each($ar)) {
if (empty($k)) continue;
echo "<tr><td>$term</td><td>";
echo $tcount;
echo "</td></tr>";
}
echo '</table>';
} else {
echo "Scan failed. Error: " . yaz_error($id) . "<br>";
}
} |
|