yaz_scan
(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>";
}
} |
|
| | Другие функции на y:
yaz_addinfo yaz_ccl_conf yaz_ccl_parse yaz_element yaz_errno yaz_hits yaz_itemorder yaz_range yaz_record yaz_sort yaz_syntax yp_all yp_err_string yp_first yp_master yp_match yp_order
|