yaz_scan PDF Печать E-mail

(PHP 4 >= 4.0.5)

yaz_scan - готовит к сканированию.

Описание

int yaz_scan (int id, string type, string startterm [, array flags])

Эта функция для Z39.50 Scan Request. Аргумент id специфицирует целевой ID. Точка стартового термина задана параметром startterm. Форма, в которой специфицирован starting term, задаётся параметром type. В настоящее время поддерживается type rpn. Необязательный flags специфицирует дополнительную информацию для управления поведением scan-запроса. В настоящее время из flags читаются три индекса: number (количество запрошенных терминов), position (предпочтительная позиция для term) и stepSize (предпочтительный размер шага/step). Для реального трансфера Scan Request в цель и получения Scan Response обязана вызываться функция yaz_wait(). По завершении yaz_wait() вызывайте yaz_error() и yaz_scan_result() для обработки ответа.

Синтаксис startterm аналогичен RPN query, как описано в yaz_search(). Параметр startterm состоит из нуль или более спецификаций@attr-операции, с последующей единственной лексекмой/token.

Пример 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>";  
}  }

По материалам сайта: http://www.php.su/