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 | 
|---|---|
| @andquery1 query2 | intersection des requêtes query1 et query2 | 
| @orquery1 query2 | union des requêtes query1 et query2 | 
| @notquery1 query2 | requêtes "query1 et non(query2)" | 
| @setname | nomme le résultat | 
| @attrsetset 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é. | 
Vous pouvez trouver des informations sur les attributs sur le site » Z39.50 Maintenance Agency.
Note:
Dans le cas où vous voudriez utiliser une notation plus facile, utilisez l'analyseur CCL - fonctions yaz_ccl_conf() et yaz_ccl_parse().
Exemple #1 Exemples de Requête
Vous pouvez 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);
}
?>