yaz_scan
(PHP 4 >= 4.0.5, PECL yaz:0.9-1.0.9)
yaz_scan — Prépare un scan
Description
Cette fonction prépare une requête "Z39.50 Scan Request" sur la connexion spécifiée.
Pour actuellement transférer la requête "Scan Request" au serveur et recevoir le "Scan Response", yaz_wait() doit être appelée. Après la fin de yaz_wait(), appelez yaz_error() et yaz_scan_result() pour gérer la réponse.
Liste de paramètres
- id
-
La ressource de connexion retournée par yaz_connect().
- type
-
Actuellement seulement le type rpn est supporté.
- startterm
-
Point de départ pour le scan.
La forme dans laquelle le terme de départ est spécifié est donnée par le paramètre type .
La syntaxe de ce paramètre est similaire à la requête RPN comme décrite dans yaz_search(). Cela consiste à aucune ou plusieurs spécifications d'opérateur @attr, ensuite suivies par exactement une seule marque.
- flags
-
Ce paramètre optionnel spécifie des informations additionnelles pour contrôler le comportement de la requête de scan. Trois index sont actuellement lus à partir du tableau flags : number (nombre de termes demandés), position (position préférée du terme) et stepSize (grandeur de pas préférée).
Valeurs de retour
Aucune valeur n'est retournée.
Exemples
Example#1 Fonction PHP qui scanne les titres sur un serveur YAZ
<?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 "Erreur de Scan. Erreur: " . yaz_error($id) . "<br />";
}
}
?>