ConFoo 2025

yaz_record

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_recordBir kayıt döndürür

Açıklama

yaz_record(resource $id, int $konum, string $tür): string

yaz_record() işlevi, geçerli sonuç kümesinin konum ile belirtilen konumundaki kaydı döndürür.

Bağımsız Değişkenler

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).

Dönen Değerler

Belirtilen konumda kayıt yoksa boş bir dizge, varsa kaydı döndürür.

Belirtilen konumda veritabanı kaydı yoksa boş bir dizge döner.

Örnekler

Ö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 kayıt, kök seviyesinde iki düğüme sahiptir. Kök seviyesindeki düğümlerden ilkinin yaftası (4,52) [yafta türü: 4, yafta değeri: 52], verisi ise 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);

?>
kodunun çıktısı şöyle olur:
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;

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top