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