(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_record — Devuelve un registro
   La función yaz_record() inspecciona un registro del
   conjunto resultado actual que está en la posición especificada por el parámetro
   pos.
  
idEl recurso de conexión devuelto por yaz_connect().
posLa posición del registro. Las posiciones de los registros en el conjunto resultado están numeradas con 1, 2, ... $hits donde $hits es el contador devuelto por yaz_hits().
type
       El parámetro type especifica la forma del
       registro devuelto.
      
Nota:
Es la aplicación responsable de asegurar realmente que los registros son devueltos en el formato correcto por el servidor Z39.50/SRW. El type indicado únicamente especifica una conversión que se realizará en el lado cliente (en PHP/YAZ).
       Además de la conversion del registro transferido a un string/array, PHP/YAZ
       también puede realizar una conversión de mapa de caracteres del
       registro. Esto es recomendado especialmente para USMARC/MARC21 puesto que
       éstos se devuelven habitualmente en el mapa de caracteres MARC-8 que no
       está soportado por navegadores, etc. Para especificar una conversión, añadir
       ; charset=from,
       to donde
       from es el mapa de caracteres original
       del registro y to es el mapa de caracteres
       resultante (desde el punto de vista PHP).
      
stringEl registro se devuelve como un string de visualización simple. En este modo, todos los registros MARC se convierten a un formato línea a línea ya que ISO2709 es difícilmente legible. Los registros XML y SUTRS se devuelven en su formato original. GRS-1 se devuelve en un (feo) formato línea a línea.
Este formato es adecuado si los registros se mostrarán de forma rápida - para depuración - o porque no es factible realizar una visualización adecuada.
xmlEl registro se devuelve como un string XML si es posible. En este modo, todos los registros MARC se convierten en » MARCXML. Los registros XML y SUTRS se devuelven en su formato original. GRS-1 no está soportado.
          Este formato es parecido a string excepto por los
          registros MARC que se convierten a MARCXML
         
Este formato es adecuado si los registros se procesan posteriormente por un interpretador XML o un procesador XSLT .
rawEl registro se devuelve como un string en su formato original. Este tipo es adecuado para MARC, XML y SUTRS. No funciona con GRS-1.
Los registros MARC se devuelven como un string ISO2709. XML y SUTRS son devueltos como strings.
syntax
          La sintaxis del registro se devuelve como un string, p.e.
          USmarc, GRS-1,
          XML, etc.
         
databaseEl nombre de la base de datos asociada con el registro en la posición, se devuelve como un string.
arrayEl registro se devuelve como un array que refleja la estructura GRS-1. Este tipo es adecuado para MARC y GRS-1. XML, SUTRS no están soportados y si el registro actual es XML o SUTRS se devolverá un string vacío.
El array devuelto consiste en una lista correspondiente a cada hoja/nodo interno de GRS-1. Cada lista de elementos consiste en una sublista con el primer elemento path y data (si los datos están disponibles).
          El camino de acceso, que es un string, contiene una lista de tres componentes (del
          registro estructurado GRS-1) de la raíz a la hoja. Cada componente es
          un par de tipo etiqueta/valor de etiqueta de la forma
          (type,
          value
         
Las etiguqetas normalmente tienen un tipo tag 3. MARC también puede ser devuelto como un array (se convierten a GRS-1 internamente).
   Devuelve el registro que se encuentra en la posición pos o un string
   vacío si no existe ningún registro en la posición indicada.
  
Si no hay registro en la posición indicada en la base de datos, se devolverá un string vacío.
Ejemplo #1 Array para registro GRS-1
Considerar este registro GRS-1 :
(4,52)Robert M. Pirsig
(4,70)
      (4,90)
            (2,7)Transworld Publishers, ltd.
Robert M.
    Pirsig. El segundo elemento en el nivel raíz (4,70) tiene un subárbol con
    un elemento simple (4,90). (4,90) tiene a su vez otro subárbol (2,7) con datos
    Transworld Publishers, ltd..
   Si este registro está presente en la posición $p, entonces
<?php
$ar = yaz_record($id, $p, "array");
print_r($ar);
?>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.
        )
)
Ejemplo #2 Trabajar con MARCXML
El siguiente fragmento de PHP devuelve un registro MARC21/USMARC como MARCXML. El registro original se devuelve en marc-8 (desconocido para muchos interpretadores XML), así que lo convertimos a UTF-8 (que todos los interpretadores XML deben soportar).
<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>
    El registro $rec puede ser procesado con el
    procesador Sablotron XSLT de la forma siguiente:
   
<?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;
?>