Quick Reference For Attribute Fields
(eg: "@attr 2=" refers to the Relation attribute)
1 = Use Field
2 = Relation
3 = Position
4 = Structure
5 = Truncate
6 = Completeness(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_search â PrĂ©pare une recherche
yaz_search() prépare une recherche sur la connexion donnée
Comme pour yaz_connect(), cette fonction n'est pas bloquante et ne fait que préparer la recherche pour exécution ultérieure lorsque yaz_wait() est appelée.
idLa ressource de connexion retournée par yaz_connect().
type
Ce paramĂštre reprĂ©sente le type de requĂȘte - seul
"rpn" est supporté actuellement et, dans ce cas, le
troisiĂšme argument est un prĂ©fixe de notation de requĂȘte utilisĂ© par
YAZ.
query
Les requĂȘtes RPN sont des reprĂ©sentations textuelles des
requĂȘtes de type Type-1, comme dĂ©fini dans le standard
Z39.50. Cependant, dans la représentation textuelle utilisée
par YAZ, une notation à préfixe est utilisée,
c'est-à -dire que l'opérateur précÚde
l'opĂ©rande. La chaĂźne de requĂȘte est une
sĂ©quence de mots rĂ©servĂ©s, oĂč les espaces sont
ignorés, à moins qu'ils n'aient été
mis entre guillemets doubles. Les mots réservés qui commencent
par un arobase (@) sont considérés
comme des opérateurs et traités comme tels.
| Syntaxe | Description |
|---|---|
@and query1 query2 |
intersection des requĂȘtes query1 et query2 |
@or query1 query2 |
union des requĂȘtes query1 et query2 |
@not query1 query2 |
requĂȘtes "query1 et non(query2)" |
@set name |
nomme le résultat |
@attrset set query |
spĂ©cifie le jeu d'attributs de la requĂȘte. Cette construction n'est autorisĂ©e qu'une seule fois, au dĂ©but d'une requĂȘte. |
@attr [set] type=value query |
applique les attributs Ă une requĂȘte. Le type et la valeur sont des entiers indiquant les types et valeurs des attributs, dans cet ordre. Le jeu, si fourni, spĂ©cifie le jeu d'attributs utilisĂ©. |
Il est possible de trouver des informations sur les attributs sur le site » Z39.50 Maintenance Agency.
Note:
Dans le cas oĂč l'on souhaiterait utiliser une notation plus facile, utiliser l'analyseur CCL - fonctions yaz_ccl_conf() et yaz_ccl_parse().
Exemple #1 Exemples de RequĂȘte
Il est possible de chercher pour des termes simples, comme ceci :
ordinateur
La requĂȘte
"knuth donald"
Cette requĂȘte applique deux attributs Ă la mĂȘme phrase.
La requĂȘte
@and @or a b @not @or c d e
(a or b) and ((c or d) not e).
Un autre exemple, plus complexe :
@attrset gils @and @attr 1=4 art @attr 1=2000 company
art
apparaßt dans le titre (GILS,BIB-1) et dont la société
(company) apparaĂźt comme distributeur (GILS).
Quick Reference For Attribute Fields
(eg: "@attr 2=" refers to the Relation attribute)
1 = Use Field
2 = Relation
3 = Position
4 = Structure
5 = Truncate
6 = CompletenessTo display holdings data set the syntax and the record format to "opac" (at least for Horizon ILS). It will give you an xml, containg <holding> elements with all info:
<?php
$z = yaz_connect(...
yaz_syntax($z, 'opac');
yaz_search($z, 'rpn', '@attr 1=4 "title%"');
yaz_wait();
$hits = yaz_hits($z);
yaz_range($z, 1, $hits);
yaz_present($z);
for($i = 1; $i <= $hits; $i++)
my_display(yaz_record($z, $i, 'opac'));
yaz_close($z);
function my_display($s)
{
$lines = explode("\n", trim($s));
var_dump($lines);
}
?>