(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.
idEl recurso de conexión devuelto por yaz_connect().
type
Actualmente sólo está soportado el tipo rpn .
starttermPunto 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 se retorna 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 />";
}
}
?>