(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — Prepara para un escaneo YAZ
Esta función prepara para una solicitud "Z39.50 Scan Request" en la conexión YAZ especificada.
Para transferir realmente la "Scan Request" del servidor y recibir la "Scan Response", debe llamarse yaz_wait(). Después de la finalización de la llamada a yaz_wait(), llamar a yaz_error() y yaz_scan_result() para gestionar la respuesta.
id
El recurso de conexión devuelto por yaz_connect().
type
Actualmente sólo está soportado el tipo rpn
.
startterm
Punto de partida del escaneo.
La forma en la que el punto de partida es especificado, viene dado por el parámetro
type
.
La sintaxis de este parámetro es parecido al de la consulta RPN tal y como se describe en
yaz_search(). Consiste en cero o más
especificaciones del operador @attr
, seguido de
exactamente un token.
flags
Este parámetro opcional describe información adicional para controlar
el comportamiento de la solicitud de escaneo. Tres índices se leen actualmente
del array de marcas:
number
(número de términos solicitados),
position
(posición preferida del término) y
stepSize
(tamaño preferido del paso).
No devuelve ningún valor.
Ejemplo #1 función PHP que escanea 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 "Error de escaneo. Error: " . yaz_error($id) . "<br />";
}
}
?>