8.137 YAZ
8 Référence des fonctions
Manuel PHP
. Introduction . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Exemples . yaz_addinfo . yaz_ccl_conf . yaz_ccl_parse . yaz_close . yaz_connect . yaz_database . yaz_element . yaz_errno . yaz_error . yaz_es_result . yaz_get_option . yaz_hits . yaz_itemorder . yaz_present . yaz_range ->yaz_record . yaz_scan_result . yaz_scan . yaz_schema . yaz_search . yaz_set_option . yaz_sort . yaz_syntax . yaz_wait
|
8.137.22 yaz_record()Retourne un résultat[ Exemples avec yaz_record ] PHP 4 >= 4.0.1, PHP 5
string
yaz_record (
resource
id
,
int
pos
,
string
type
)
yaz_record
retourne un résultat à la
position
pos
, ou une chaîne vide si
aucun résultat n'est disponible à la position
pos
.
yaz_record
recherche une ligne dans le résultat,
à la position spécifiée par
pos
. Si aucun résultat n'est
disponible à la position donnée, une chaîne vide est retournée.
La position des enregistrements dans le jeux de résultat est numérotée 1, 2, ....
$hits où $hits est le nombre de résultats, retourné par
yaz_hits
.
type
spécifie la forme des enregistrements retournés.
-
string
-
L'enregistrement est retourné comme une chaîne de caractères pour un affichage simple.
Dans ce mode, tous les enregistrements MARC sont convertis en un format
ligne par ligne du fait que l'ISO2709 n'est pas facile à lire.
Les enregistrements XML et SUTRS sont retournés dans leur format d'origine.
GRS-1 est retourné dans un format ligne par ligne.
Ce format est adapté si les enregistrements doivent être affichés de façon
rapide pour du débogage ou parcequ'il n'est pas faisable de faire un affichage propre.
-
xml
-
Les enregistrements sont retournés sous la forme d'une chaîne XML
si possible. Dans ce mode, tous les résultats MARC sont convertis
en MARCXML .
Les enregistrements XML et SUTRS sont retournés dans leur format d'origine.
GPS-1 n'est pas supporté.
Ce format est similaire à
string
excepté que les résultats
MARC sont convertis en MARCXML.
Ce format est adapté si les enregistrements sont traités par un analyseur XML ou
un processeur XSLT en suivant.
-
raw
-
Les enregistrements sont retournés comme une chaîne de caractères dans leurs formats d'origine.
Ce type est adapté pour MARC, XML et SUTRS. Il ne fonctionne pas pour GRS-1.
Les enregistrements MARC sont retournés comme une chaîne de caractères
ISO2709. XML et SUTRS sont retournés comme des chaînes de caractères.
-
syntax
-
La syntaxe des enregistrements est retournée comme une chaîne de caractères i.e
USmarc
,
GRS-1
,
XML
, etc.
-
database
-
Le nom de la base de données associée avec les enregistrements à la position,
est retourné comme une chaîne de caractères.
-
array
-
Les enregistrements sont retournés comme un tableau qui reflète la structure
GRS-1. Ce type est adapté pour MARC et GRS-1. XML et SUTRS ne sont pas
supportés et si l'actuel résultat est XML ou SUTRS, une chaîne vide est retournée.
Le tableau retourné est constitué d'une liste correspondant à chaque
feuille/noeud interne de GRS-1. Chaque élément de la liste est constitué
d'une sous-liste avec comme premier élément
path
et
data
(si les données sont disponibles).
Le chemin, qui est une chaîne de caractères, contient une liste de chaque composant
de l'arbre (de la structure des enregistrements GRS-1) depuis la racine vers l'extrémité.
Chaque composant est une paire de type de balise / valeur sous la forme
(
type
,
value
Les chaînes des balises, normalement, ont un type de balise correspondant 3.
MARC peut aussi être retourné comme un tableau (ils sont convertis en GRS-1 en interne).
Note |
C'est l'application qui est responsable actuellement d'assurer
que les enregistrements sont retournés du serveur Z39.50 dans
un format correct. Le type donné spécifie uniquement une conversion
à mettre en place sur le client (en PHP/YAZ).
|
En plus de la convertion d'un enregistrement de transfert en une chaîne de caractères
ou un tableau, PHP/YAZ est également possible de faire une conversion de l'enregistrement
en un jeux de caractères. Tout spécialement pour USMARC/MARC21, il est recommandé,
depuis qu'ils sont typiquement retournés dans le jeux de caractères MARC-8 qui n'est pas
supporté par les navigateurs, etc. Pour spécifier une conversion, ajouter
; charset=
from
,
to
lorsque
from
est le jeux de caractères de l'enregistrement et
to
est le jeux de caractères résultant (comme vu par PHP).
Tableau pour des enregistrements GRS-1 |
Considérez les enregistrements GRS-1
(4,52)Robert M. Pirsig
(4,70)
(4,90)
(2,7)Transworld Publishers, ltd.
Cet enregistrement a deux noeuds à la racine.
Le premier élément de la racine est (4,52) [tag type 4, tag value 52],
et a comme donnée
Robert M. Pirsig
.
Le deuxième élément de la racine (4,70) a un sous-arbre avec un élément simple (4,90).
(4,90) a maintenant un sous-arbre (2,7) avec comme donnée
Transworld Publishers,
ltd.
.
|
Travail avec MARCXML |
Le script PHP ci-dessous retourne un enregistrement MARC21/USMARC
comme MARCXML. L'enregistrement original est retourné dans le jeux de caractères
marc-8 (inconnu de beaucoup d'analyseur XML), donc nous le convertissons en UTF-8
(que tous les analyseurs XML supportent).
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
|
|