(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — Prepara para uma varredura
Esta função prepara para uma Solicitação de Varredura Z39.50 na conexão especificada.
Para transferir a Solicitação de Varredura para o servidor e receber a Resposta de Varredura, yaz_wait() deve ser chamada. Após a conclusão de yaz_wait(), chame yaz_error() e yaz_scan_result() para manipular a resposta.
id
O recurso de conexão retornado por yaz_connect().
type
Atualmente, somente o tipo rpn
é suportado.
startterm
Ponto inicial do termo para a varredura.
A forma como o termo inicial é especificado é dada pelo parâmetro
type
.
A sintaxe deste parâmetro é semelhante à da consulta RPN, conforme descrito em
yaz_search(). Consiste em zero ou mais especificações do
operador @attr
, seguidas por
exatamente um token.
flags
Este parâmetro opcional especifica informações adicionais para controlar
o comportamento da solicitação de varredura. Três índices são lidos atualmente
deste array de sinalizadores:
number
(número de termos solicitados),
position
(posição preferencial do termo) e
stepSize
(tamanho preferencial do passo).
Nenhum valor é retornado.
Exemplo #1 Função PHP que verifica títulos
<?php
function scan_titles($id, $startterm)
{
yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
yaz_wait();
$errno = yaz_errno($id);
if ($errno == 0) {
$ar = yaz_scan_result($id, $options);
echo 'Scan ok; ';
foreach ($options as $key => $val) {
echo "$key = $val ";
}
echo '<br /><table>';
while (list($key, list($k, $term, $tcount)) = each($ar)) {
if (empty($k)) continue;
echo "<tr><td>$term</td><td>$tcount</td></tr>";
}
echo '</table>';
} else {
echo "Scan failed. Error: " . yaz_error($id) . "<br />";
}
}
?>