array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.yaz-scan.php', 1 => 'yaz_scan', ), 'up' => array ( 0 => 'ref.yaz.php', 1 => 'Funciones de YAZ', ), 'prev' => array ( 0 => 'function.yaz-scan-result.php', 1 => 'yaz_scan_result', ), 'next' => array ( 0 => 'function.yaz-schema.php', 1 => 'yaz_schema', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/yaz/functions/yaz-scan.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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 />";
}
}
?>