(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_record — Bir kayıt döndürür
yaz_record() işlevi, geçerli sonuç kümesinin
konum
ile belirtilen konumundaki kaydı döndürür.
id
yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.
konum
Kaydın konumu. Sonuç kümesindeki kayıtların konumları 1, 2, ..., $sayı şeklinde olup $sayı, yaz_hits() işlevi tarafından döndürülen sonuç sayısıdır.
tür
Dönen kaydın biçimi belirtilir.
Bilginize:
Aslında, kayıtların Z39.50/SRW sunucusundan uygun biçemde dönmesini garanti etmekten sorumludur.
tür
sadece, istemci tarafında yer alacak bir uzlaşım belirtir (PHP/YAZ olarak).
Aktarım kaydının bir dizi veya dizgeye dönüşmesinin yanında, PHP/YAZ'ın
kayda bir karakter kümesi dönüşümü de uygulaması mümkündür.
USMARC/MARC21 için bu özellikle önerilir, çünkü bunlar tarayıcılar
tarafından desteklenmeyen MARC-8 karakter kümesini kullanırlar. Dönüşüm
belirtmek için şunu ekleyin: ;
charset=
kaynak,
hedef. Burada
kaynak kaydın özgün karakter kümesini,
hedef ise PHP tarafından görülecek karakter
kümesini belirtir.
string
Kayıt, basit gösterim için bir dizge olarak döndürülür. Bu kipte, tüm MARC kayıtları ISO2709 zorlukla okunabildiğinden satırlı biçeme dönüştürülür. XML kayıtları ve SUTRS özgün biçemleriyle döndürülür. GRS-1 ise satırlı fakat çirkin bir biçemde döndürülür.
Kaydın çabucak basit bir biçemde gösterilmesi gerektiğinde, hata ayıklamak için veya başka türlü göstermenin uygun olmadığı durumlarda bu biçem yararlıdır.
xml
Mümkünse kayıt bir XML dizge olarak döndürülür. Bu kipte tüm MARC kayıtları » MARCXML'e dönüştürülür. XML kayıtları ve SUTRS özgün biçemleriyle döndürülür. GRS-1 desteklenmez.
Bu biçem, MARC kayıtlarının MARCXML'e dönüştürülmesi dışında
string
biçemine benzer.
Bu biçem, kayıtların bir XML çözümleyici veya bir XSLT işlemcisi tarafından işleme sokulmasının gerektiği durumlarda yararlıdır.
raw
Kayıt, özgün biçemi korunarak bir dizge olarak döndürülür. Bu tür, MARC, XML ve SUTRS için yararlıdır. GRS-1 için işe yaramaz.
MARC kayıtları bir ISO2709 dizgesi olarak döndürülür. XML ve SUTRS ise dizge olarak döndürülür.
syntax
Kaydın sözdizimi ismi, USmarc
,
GRS-1
, XML
gibi bir dizge
olarak döndürülür.
database
Kaydın ilişkili olduğu veritabanının ismi bir dizge olarak döndürülür.
array
Kayıt, GRS-1 yapısını yansıtan bir dizi olarak döndürülür. Bu tür, MARC ve GRS-1 için elverişlidir. XML ve SUTRS desteklenmez ve asıl kayıt XML veya SUTRS ise boş bir dizge döner.
Dönen dizi, GRS-1'in her dahili/uç düğümü ile ilişkili bir listeden oluşur. Her liste öğesi, ilk elemanı yol ve (varsa) veri olan bir alt listeden oluşur.
Yol öğesi, ağacın köküne göre ağaç bileşenlerinin listesini içeren
bir dizgedir. Her bileşen
(
tür,
değer)
biçeminde bir yafta türü ve yafta değeri çiftinden oluşur.
Dizge yaftalar normalde 3. tür yaftaya karşılıktır. MARC bir dizi olarak da döndürülebilir (dahili olarak GRS-1'e dönüştürülür).
Belirtilen konumda kayıt yoksa boş bir dizge, varsa kaydı döndürür.
Belirtilen konumda veritabanı kaydı yoksa boş bir dizge döner.
Örnek 1 - GRS-1 kaydı için bir dizi
GRS-1 kaydı şöyle olsun:
(4,52)Robert M. Pirsig (4,70) (4,90) (2,7)Transworld Publishers, ltd.
Robert M. Pirsig
'dir; ikincisinin yaftası
(4,70) olup (4,90) yaftalı tek elemanlı bir alt ağaç ve bu ağaç da (2,7)
yaftalı ve Transworld Publishers, ltd.
verili bir düğüm
içermektedir.
Bu kaydın bulunduğu konum $p ise,
<?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. ) )
Örnek 2 - MARCXML ile çalışma
Aşağıdaki PHP betiği MARCXML olarak bir MARC21/USMARC kaydı döndürür. Özgün kayıt (çoğu XML çözümleyicinin bilmediği) marc-8 kodlu olduğundan (tüm XML çözümleyicilerin desteklediği) UTF-8'e dönüştürüyoruz.
<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>
$rec kaydı Sablotron XSLT işlemcisi tarafından şöyle işlenir:
<?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;
?>