(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_record — Bir kayıt döndürür
$id
, int $konum
, string $tü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.
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.
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.
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.
Kaydın sözdizimi ismi, USmarc, GRS-1, XML gibi bir dizge olarak döndürülür.
Kaydın ilişkili olduğu veritabanının ismi bir dizge olarak döndürülür.
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.
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;
?>
PHP 5 için Sablotron XSLT yerine XSL eklentisi kullanılmalıdır.