Sommaire
YAZ
Introduction
Installation
Exemple
yaz_addinfo
yaz_close
yaz_connect
yaz_errno
yaz_error
yaz_hits
yaz_element
yaz_database
yaz_present
yaz_range
yaz_record
yaz_search
yaz_syntax
yaz_scan
yaz_scan_result
yaz_ccl_conf
yaz_ccl_parse
yaz_itemorder
yaz_wait
|
6.105.17 yaz_scan[ Exemples avec yaz_scan ] PHP 4 >= 4.0.5Description
int yaz_scan(int id ,string type ,string startterm ,[array flags ])
yaz_scan prépare une requête "Z39.50 Scan Request".
id spécifie l'hôte cible. Le point de départ
est donné avec startterm. La forme de spécification
du point de départ est donné par type. Actuellement,
le type rpn est supporté. Le paramètre optionnel
flags donne des informations supplémentaires pour
contrôler le comportement de la requête de scan. Actuellement, trois index
sont lus dans ce paramètre : number (nombre de termes
requis), position (position préférée du terme) et
stepSize (taille du pas préférée).
Pour reéllement envoyer la requête de recherche à l'hôte, et recevoir
la réponse, yaz_wait doit être appelée. A la fin de
yaz_wait, yaz_error et
yaz_scan_result auront les résultats.
La syntaxe de startterm est similaire aux requêtes
RPN, décrites dans yaz_search.
startterm est constitué de zéro ou plus
spécifications, avec les opérateurs @attr, suivi par
exactement un token.
Fonction PHP qui scanne les titres |
function scan_titles($id, $starterm) { yaz_scan($id,"rpn", "@attr 1=4 " . $starterm); yaz_wait(); $errno = yaz_errno($id); if ($errno == 0) { $ar = yaz_scan_result($id,&$options); echo 'Scan ok; '; $ar = yaz_scan_result($id, &$options); while(list($key,$val)=each($options)) { echo "$key = $val "; } echo '<br><table><tr><td>'; while(list($key,list($k, $term, $tcount))=each($ar)) { if (empty($k)) continue; echo "<tr><td>$term</td><td>"; echo $tcount; echo "</td></tr>"; } echo '</table>'; } else { echo "Echec du scan. Erreur: " . yaz_error($id) . "<br>"; } }
|
|