PHP マニュアル
前のページ |  | 次のページ

# yaz_scan

(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 &nbsp;";
              }
              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>";
            }
          }

前のページ | ホーム | 次のページ
yaz_scan_result | 上に戻る | yaz_search