Как стать автором
Обновить

[HATE] Боль. Формат RusMARC

Время на прочтение 3 мин
Количество просмотров 9.5K
Предупреждение. Пост содержит зашкаливающее количество ненависти! Уберите больных беременных кормящих детей с слабой психикой от монитора. Хотя где вы таких детей нашли?

Всем дня доброго.
Позвольте начать с цитаты из википедии
UNIMARC (акроним от Universal Machine Readable Cataloging) — формат, разработанный при содействии Международной Федерации библиотечных ассоциаций и учреждений (IFLA) в 1977 году для решения проблемы несовместимости между различными национальными МАРК-форматами. Главной целью было создание международного МАРК-формата, который мог бы разместить библиографические записи всех видов МАРК-форматов. Такие записи могли быть преобразованы в UNIMARC, который являлся бы базовым форматом, и из него, если нужно, — в любой другой МАРК-формат. Формат UNIMARC облегчил международный обмен библиографическими сведениями в машиночитаемой форме.


для решения проблемы несовместимости между различными национальными МАРК-форматами

То есть, данный формат был разработан для того что бы быть унифицировать библиографические записи и отойти от того состояния, когда в каждой стране был свой собственный формат MARC не совместимый с остальными. Народ собрался, подумал и разработал единый формат. До определенного времени все им пользовались, и все были счастливы (ну кроме разработчиков, которым надо было писать функции импорта\экспорта работающих с этим форматом).

Но, мы же не ищем легких путей…


Каковы же проблемы UNIMARC с точки зрения программиста?
Начнем по порядку.
  • Хранение всех смещений и длинн записи 5 байтной строкой
  • Хранение номеров полей и индексов подполей строкой (на самом деле не такая уж серьезная проблема, но всё таки)
  • Возможность использования двух вариантов кодировок — MARC8 и UTF8 (на самом деле можно пользоваться любой, но стандартом обговорены только эти две, а соответсвенно и флаг-указатель кодировки только для них). MARC8, не такая уж распространенная кодировка


В остальном это вполне удобный формат, где записи хранятся друг за другом, присутсвуют разделители, а формат записи примерно такой:
Лидер (информация о записи, необходимая для чтения записи)
ПеременноеПоле1
-ПеременноеПодПоле1
-…
-ПеременноеПодПолеN

ПеременноеПолеM

Есть специальные таблицы, где указано какое поле\подполе за что отвечает, какие можно использовать в своих целях, ну и так далее.

Казалось бы — идилия, не без проблем, но жить можно.

И тут на сцену врывается RusMARC
1. 1. Назначение Российского коммуникативного формата

Российский коммуникативный формат разработан по заказу Министерства культуры в рамках программы LIBNET под эгидой Российской Библиотечной ассоциации. Формат призван быть посредником при осуществлении обмена библиографическими записями и способствовать решению следующих задач:

а. Улучшение доступности библиографической информации
б. Создание сводных каталогов
в. Сокращение затрат при каталогизации

Коммуникативный формат не оговаривает форму, содержание или структуру записи локальных систем, он содержит рекомендации по форме и содержанию данных, предназначенных для обмена. Запись коммуникативного формата не предписывает локальной системе необходимые формы вывода, но должна обеспечивать достаточный набор данных для генерации видов описаний, принятых в данной системе.

1. 4. Взаимоотношения формата UNIMARC и Российского коммуникативного формата

Направления, в которых проводились работы по адаптации формата UNIMARC, определили и взаимоотношения двух форматов. Российский коммуникативный формат не является совершенно новой, отдельно стоящей разработкой.
Российский коммуникативный формат — это российская версия Международного коммуникативного формата UNIMARC, в трактовке и категориях действующих в России ГОСТов и Правил каталогизации, базирующаяся на выборе наиболее общих схем представления элементов данных.
С практической точки зрения это означает, что любая запись, переданная в Российском коммуникативном формате, должна адекватно восприниматься любым программным обеспечением, о котором заявлено, что данное программное обеспечение работает с форматом UNIMARC.


Какие красивые мысли…
Что мы имеем на практике в формате RusMARC?
  • Зоопарк кодировок, да, тут можно использовать utf8\marc8\cp1251\ibm866 и даже стандарт не скажет тебе «ата-та!»
  • Отсутсвие флага указывающего на кодировку
  • Ну и, бонусом, не соответсвие назначения полей и подполей с форматом UNIMARC
  • Ах да, содержимое «лидера записи» то же не соответсвует UNIMARC, хотя, да, софт умеющий читать UNIMARC разберет


Объемы проделанной работы поражают, перемешанны почти все поля и подполя, «лидер записи» изменен, ведь нам не нужен флаг кодировки, за место него самое нам необходимо знать, архивный контроль или нет, какая нам разница, как будут определять кодировку?

Господа присяжные, мне нечего добавить.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Как Вы считаете, обосновано ли создание отечественного варианта формата MARC
4.39% Да, конечно, перестанем быть зависимыми от американцев! 9
66.34% Нет, просто очередной бред 136
29.27% Ничего не знаю, моя хата с краю 60
Проголосовали 205 пользователей. Воздержались 69 пользователей.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+4
Комментарии 43
Комментарии Комментарии 43

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн