yaz_record

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

yaz_record — Повертає запис

Опис

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

Функцияyaz_record() перевіряє запис у поточному результуючому наборі на позиції, визначеної параметром pos

Список параметрів

id

Дескриптор з'єднання, що повертається yaz_connect()

pos

Позиція запису. Записи в результуючому наборі нумеруються як 1, 2, ... $hits, де $hits - число записів у результуючому наборі, яке повертається функцією yaz_hits()

type

type визначає форму запису, що повертається.

Зауваження :

Тільки додаток несе відповідальність за достовірність того, що записи, що повертаються з сервера Z39.50/SRW у належному форматі. Тип, що задається, тільки визначає перетворення, яке має місце на стороні клієнта (в PHP/YAZ).

Крім перетворення переданого запису в рядок/масив, PHP/YAZ також може конвертувати кодування запису. Особливо це актуально для форматів USMARC/MARC21, які рекомендується перетворювати, оскільки вони зазвичай повертаються в кодуванні MARC-8, яке не розуміють браузери та інші програми. Щоб визначити перетворення, додайте ; charset=from, to, де від поточного кодування запису і to результуюче кодування, яке буде доступне PHP.

string

Запис повертається як рядок для відображення. У цьому режимі всі MARC-записи перетворюються на строкове представлення, оскільки у форматі ISO2709 їх важко прочитати. Записи XML та SUTRS повертаються у їхньому рідному форматі. GRS-1 повертається у (потворному) постстроковому поданні.

Даний формат застосовується для швидкого виведення записів на екран, для налагодження, або якщо коректне відображення неможливо.

xml

Запис повертається як рядок XML, якщо це можливо. У цьому режимі всі MARC-записи перетворюються на формат » MARCXML. Записи XML та SUTRS повертаються у їхньому рідному форматі. GRS-1 не підтримується.

Цей формат схожий string, за винятком того, що MARC-записи перетворюються на MARCXML.

Цей формат застосовується, якщо запис буде передано парсеру XML або XSLT-процесору.

raw

Запис повертається у вигляді рядка у вихідній формі. Цей тип застосовується для MARC, XML і SUTRS, але не працює для GRS-1.

MARC-запис повертається у форматі ISO2709, XML та SUTRS повертаються як рядок.

syntax

Синтаксис запису, що повертається, наприклад USmarc GRS-1 XML, та ін.

database

Ім'я бази даних, зіставлене із записом.

array

Запис повертається як масиву, зіставленого зі структурою GRS-1. Цей тип застосовується для MARC і GRS-1. XML, SUTRS не підтримуються і якщо вихідний запис у форматі XML або SUTRS повертається порожній рядок.

Масив, що повертається, складається зі списку, який відповідає кожному внутрішньому вузлу або кінцевому елементу (leaf) формату GRS-1. Кожен список складається з підписку, першим елементом якого буде шляхидата(если она доступна).

Шлях, представлений у вигляді рядка, містить список кожної компоненти дерева (для структури запису GRS-1) від кореневого до кінцевого елемента. Кожна компонента представлена ​​парою тип поля та значення, у формі (тип значення

Початкове поле зазвичай зіставлено типу 3. MARC-записи також можуть бути повернені як масиву (вони конвертуються в GRS-1).

Значення, що повертаються

Повертає запис на позиції pos або порожній рядок, якщо на заданій позиції записів немає.

Якщо на заданій позиції в базі даних немає записів, буде повернено порожній рядок.

Приклади

Приклад #1 Масив для запису GRS-1

Візьмемо запис GRS-1, виду:

(4,52)Robert M. Pirsig (4,70) (4,90) (2,7)Transworld Publishers, ltd.

Цей запис містить два вузли на верхньому (кореневому) рівні. Перший елемент кореневого рівня (4,52) [тип 4, значення 52], і містить дані Robert M. Pirsig. Другий елемент кореневого рівня (4,70) містить піддерево з єдиним елементом (4,90). Елемент (4,90) у свою чергу містить піддерево (2,7) з даними Transworld Publishers, ltd.

Якщо цей запис знаходиться на позиції $p, тоді скрипт

Loading...

виведе:

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

Приклад #2 Приклад роботи з MARCXML

Скрипт поверне запис MARC21/USMARC у форматі MARCXML. Вихідний запис буде повернено в кодуванні marc-8 (невідомий для більшості XML-парсерів), тому він перетворюється на UTF-8.

Loading...

Запис $rec може бути оброблена процесором Sablotron XSLT так:

Loading...