yaz_record

(PHP 4 >= 4.0.1)

yaz_record ? Retourne un résultat

Description

string yaz_record ( resource id, int pos, string type )

La fonction yaz_record() retourne un enregistrement dans le jeu de résultats courant à la position spécifiée par le paramètre pos.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

pos

La position de l'enregistrement. Les positions des enregistrements dans un jeu de résultats sont numérotés 1, 2, ... $hits où $hits est le nombre retourné par yaz_hits().

type

Le type spécifie la forme du résultat retourné.

Note: C'est l'application qui est responsable pour s'assurer que les résultats retournés à partir du serveur Z39.50/SRW sont dans un format correct. Le type donné spécifie seulement une conversion qui doit avoir lieu sur le côté client (dans PHP/YAZ).

Sans compter la conversion du transfert de résultats de chaîne de caractères en tableau, PHP/YAZ est aussi possible d'effectuer une conversion de jeu de caractères du résultat. En particulier pour USMARC/MARC21 qui est recommandé puisque ces résultats sont normalement retournés dans le jeu de caractères MARC-8 qui n'est pas supporté par les navigateurs, etc. Pour spécifier une conversion, ajoutez ; charset=from, to ou from est le jeu de caractères orignal du résultat et to est le jeu de résultats à obtenir (comme vu par PHP).

string

L'enregistrement est retourné comme une chaîne de caractères pour affichage simple. Dans ce mode, tous les enregistrements MARC sont convertis dans un format ligne-par-ligne puisque ISO2709 est difficile à lire. Les enregistrements XML et SUTRS sont retournés dans leur format original. GRS-1 est retourné dans un format ligne-par-ligne (laid).

Ce format est approprié si les enregistrements seront affichés rapidement - pour débogage - ou parce que ce n'est pas faisable d'effectuer un affichage approprié.

xml

L'enregistrement est retourné comme une chaîne de caractères XML si possible. Dans ce mode, tous les enregistrements MARC sont convertis en » MARCXML. Les enregistrements XML et SUTRS sont retournés dans leur format original. GRS-1 n'est pas supporté.

Ce format est similaire à string à l'exception que les enregistrements MARC sont convertis en MARCXML

Ce format est approprié si les enregistrements sont analysés par la suite par un analyseur XML ou un processeur XSLT.

raw

L'enregistrement est retourné comme une chaîne de caractères dans sa forme originale. Ce type est approprié 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 de l'enregistrement est retournée comme une chaîne de caractères, par exemple USmarc, GRS-1, XML, etc.

database

Le nom de la base de données associée aux résultats à la position est retourné comme une chaîne de caractères.

array

L'enregistrement est retourné comme un tableau qui réfléchit la structure GRS-1. Ce type est approprié pour MARC et GRS-1. XML, SUTRS ne sont pas supportés et, si l'enregistrement actuel est XML ou SUTRS, une chaîne de caractères vide sera retournée.

Le tableau retourné consiste en une liste correspondant à chaque feuille/noeud interne de GRS-1. Chaque item de la liste consiste à une sous-liste avec le 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 tags de chaîne de caractères ont normalement une correspondance avec le type tag 3. MARC peut aussi être retourné comme un tableau (ils sont convertis en GRS-1 de manière interne).

Valeurs de retour

Retourne l'enregistrement à la position pos ou une chaîne vide si aucun enregistrement n'existe à la position donnée.

Si aucun enregistrement de base de données n'existe à la position donnée une chaîne vide est retournée.

Exemples

Exemple 2722. 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..

Si cet enregistrement est présent à la position $p, alors

<?php

$ar
= yaz_record($id, $p, "array");
print_r($ar);

?>

L'exemple ci-dessus va afficher :


Array
(
    [0] => Array
        (
            [0] => (4,52)
            [1] => Robert M. Pirsig
        )
    [1] => Array
        (
            [0] => (4,70)
        )
    [2] => Array
        (
            [0] => (4,70)(4,90)
        )
    [3] => Array
        (
            [0] => (4,70)(4,90)(2,7)
            [1] => Transworld Publishers, ltd.
        )
)

   

Exemple 2723. Travail avec MARCXML

Le script PHP ci-dessous retourne un enregistrement MARC21/USMARC comme MARCXML. L'enregistrement original est retourné dans le jeu de caractères marc-8 (inconnu de beaucoup d'analyseur XML), donc nous le convertissons en UTF-8 (que tous les analyseurs XML supportent).

<?php
$rec
= yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>

L'enregistrement $rec peut être obtenu avec le processeur Sablotron XSLT comme cela :

<?php

$xslfile
= 'display.xsl';
$processor = xslt_create();
$parms = array('/_xml' => $rec);
$res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms);
xslt_free($processor);
$res = preg_replace("'</?html[^>]*>'", '', $res);
echo
$res;

?>

En PHP 5, l'extension XSL peut être utilisée à la place de Sablotron XSLT.




Rechercher une fonction PHP

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, yaz_record

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-10801
Document créé le 21/02/07 20:46, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/php-rf-function.yaz-record.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,27 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Le monde tourne, c'est tout. On peut s'accrocher et tourner avec, ou se lever pour protester et se faire éjecter.

Stephen King [Extrait de La ligne verte]
 
l'infobrol
Nous sommes le Dimanche 03 Juin 2012, 06:33, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)