rusmarcxml/slim: xml-схема для библиографических...

27
УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. А. М. ГОРЬКОГО ЦЕНТР КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ RUSMARCXML/Slim: "Тонкая" XML-схема для библиографических записей в формате RUSMARC Екатеринбург 2003 г.

Upload: others

Post on 18-Oct-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. А. М. ГОРЬКОГО ЦЕНТР КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

RUSMARCXML/Slim: "Тонкая" XML-схема для библиографических записей в формате RUSMARC

Екатеринбург 2003 г.

Page 2: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Оглавление Предварительные замечания ....................................................................................................3 Назначение .................................................................................................................................4 Общие принципы разработки...................................................................................................5 Аналоги.......................................................................................................................................6 RUSMARCXML/Slim и ISO 2709 ............................................................................................7 Структура документа RUSMARCXML/Slim ..........................................................................8 Тип leaderType .......................................................................................................................8 Элемент leader ...................................................................................................................9 Тип subfieldIdentifier ..............................................................................................9 Тип subfieldType.............................................................................................................9 Элемент subfield ..............................................................................................................9 Тип controlTag ...............................................................................................................10 Тип controlType .............................................................................................................10 Элемент control...............................................................................................................10 Тип fieldTag ....................................................................................................................11 Тип indicatorType ........................................................................................................11 Тип fieldType..................................................................................................................12 Элемент field....................................................................................................................12 Тип built-inType...........................................................................................................12 Элемент built-in ............................................................................................................13 Тип recordType ...............................................................................................................13 Элемент record .................................................................................................................13 Элемент collection........................................................................................................14 Общие атрибуты ..................................................................................................................14 Разметка записи ...................................................................................................................14 Запись ...............................................................................................................................14 Маркер записи..................................................................................................................14 Справочные (контрольные) поля ...................................................................................14 Поля данных.....................................................................................................................14 Поля, имеющие встроенные поля ..................................................................................15 Данные, неконвертируемые из исходного формата.....................................................15 Полный пример................................................................................................................15

Техническое описание.............................................................................................................17 XML-схема ...............................................................................................................................25 Стандарты и спецификации....................................................................................................27

2

Page 3: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Предварительные замечания Настоящий документ описывает XML-схему для библиографических записей в формате RUSMARC, разработанную Центром компьютерных технологий Уральского государственного университета им А. М. Горького (ЦКТ УрГУ) и предлагаемую в качестве рабочего материала для обсуждения в Национальной службе развития системы форматов RUSMARC.

В основу разработки положены результаты исследований специалистов ЦКТ УрГУ в рамках гранта РФФИ 2002 г.

Наименование схемы: RUSMARCXML/Slim.

Формат: XML Schema.

Статус: предложения.

Версия: 3 октября 2003 г.

3

Page 4: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Назначение Схема RUSMARCXML/Slim разработана в целях формализованного описания структуры XML-документов, предназначенных для обмена библиографическими данными в форматах семейства MARC в XML-ориентированной среде.

Схема RUSMARCXML/Slim может служить средством, позволяющим осуществлять проверку целостности записей (корректности структуры записи) средствами XML-парсера. Указанный механизм может быть использован при отладке программных систем, обрабатывающих библиографические данные, а также для фильтрации поврежденных записей, возникающих в результате сбоев при обработке и передаче данных.

Схема RUSMARCXML/Slim не является средством, предназначенным для контроля корректности содержания записи средствами XML-парсера. В этих целях целесообразно использовать специализированную XML-схему, жестко определяющую структуру и содержание данных.

4

Page 5: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Общие принципы разработки • формирование XML-документа из MARC-записи в стандарте ISO 2709 без потерь

данных;

• возможность проверки целостности записи (корректности структуры записи) средствами XML-парсера;

• учет специфических особенностей формата RUSMARC;

• максимальная независимость от диалектов формата MARC;

• устойчивость к изменениям в формате RUSMARC;

5

Page 6: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Аналоги Аналогом схеме RUSMARCXML/Slim является MARC 21 XML Schema, разработанная Библиотекой конгресса США (http://www.loc.gov/standards/marcxml///).

Указанная схема, вообще говоря, не является строго ориентированной на формат MARC 21. Она определяет лишь иной, чем стандарт ISO 2709, синтаксис разметки записи, полностью сохраняя структурные элементы стандарта (маркер записи, контрольные поля, поля данных и т. п.)

MARC 21 XML Schema (версия от 21.05.2002 г.) несколько сужает стандарт ISO 2709, налагая дополнительные ограничения на длины и значения индикаторов и идентификаторов (кодов) подполей.

Хотя MARC 21 XML Schema, по своей сути, не является зависимой от диалекта формата MARC, существуют серьезные препятствия использованию данной схемы применительно к формату RUSMARC. В частности, указанной схемой не предусмотрена разметка встроенных полей и данных, неконвертируемых из другого формата, что существенно снижает эффективность применения этой схемы. Имеются также расхождения в допустимых значениях индикаторов полей (MARC 21 XML Schema не допускает в качестве значения индикатора символа-заполнителя – “|”).

6

Page 7: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

RUSMARCXML/Slim и ISO 2709 Соответствие компонентов ISO 2709, формата RUSMARC и схемы RUSMARCXML/Slim представлено в следующей таблице:

ISO 2709 RUSMARC RUSMARCXML/Slim Запись Запись Элемент record Маркер записи Маркер записи Элемент leader Справочник Справочник (определен

стандартом ISO 2709). Компонент отсутствует. Функциональность реализуется атрибутом tag, а также открывающимися и закрывающимися тэгами элементов control, field и built-in.

Справочное (контрольное) поле

Поле Элемент control

Поле данных Поле Элементы field, built-in Метка поля Код поля Атрибут tag Идентификатор (подполя) Код подполя Атрибут code Индикатор Индикатор 1, индикатор 2 Атрибут i1, атрибут i2 Разделитель поля Разделитель поля

(определен стандартом ISO 2709).

Компонент отсутствует. Функциональность реализуется открывающимися и закрывающимися тэгами элементов control, field и built-in.

Подполе Подполе Элемент subfield. Разделитель подполей Разделитель подполей

(определен стандартом ISO 2709).

Компонент отсутствует. Функциональность реализуется открывающимися и закрывающимися тэгами элемента subfield.

Разделитель записей Разделитель записей (определен стандартом ISO 2709).

Компонент отсутствует. Функциональность реализуется открывающимся и закрывающимся тэгами элемента record.

7

Page 8: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Структура документа RUSMARCXML/Slim В соответствии с RUSMARCXML/Slim библиографические данные (группа из одной или более записей) представляются в виде XML-документа, корневым элементом которого является элемент collection, который, в свою очередь, имеет один или более дочерних элементов record.

Элемент record содержит структурированные данные, соответствующие библиографической записи стандарта ISO 2709. Указанный элемент может иметь в качестве дочерних элементы leader, control, field и built-in. Указанный элемент имеет атрибуты type (тип формата) и format (диалект формата).

Элемент leader содержит неструктурированные символьные данные, соответствующие маркеру записи стандарта ISO 2709.

Элемент control содержит неструктурированные символьные данные, соответствующие справочному (контрольному) полю стандарта ISO 2709. Метка (код) поля задается атрибутом tag.

Элемент field содержит структурированные данные, соответствующие полю данных стандарта ISO 2709. Указанный элемент имеет в качестве дочерних элементы subfield. Индикаторы поля задаются атрибутами i1 и i2. Метка (код) поля задается атрибутом tag.

Элемент built-in содержит структурированные данные, соответствующие полю формата RUSMARC, имеющему встроенные поля. Указанный элемент имеет в качестве дочерних элементы control и field. Индикаторы поля задаются атрибутами i1 и i2. Метка (код) поля задается атрибутом tag.

Элемент subfield содержит данные произвольной структуры, соответствующие подполю стандарта ISO 2709. Идентификатор (код) подполя задается атрибутом code.

Ограничения и структура указанных элементов определяются перечисленными ниже типами данных.

Тип leaderType Тип leaderType описывает ограничения, накладываемые на маркер записи. Содержимое Строка символов. Ограничения • Длина строки – 24 символа.

• Позиции 0–4, 12–16 содержат десятичные цифры. • Позиции 5–9, 17–19, 23 содержат десятичные цифры, буквы

латинского алфавита в верхнем или нижнем регистре, символ « » (пробел).

• Позиции 10–11 содержат последовательность символов «22». • Позиции 20–22 содержат последовательность символов «450».

Атрибуты Нет. Сужение ISO 2709 • Значения позиций 5 (статус записи), 6–9 (коды применения), 17–19

(коды систем пользователя), 23 (зарезервировано) ограничены символом « » (пробел), десятичной цифрой или буквой латинского алфавита в нижнем или верхнем регистре.

• Значения позиций 10 (длина индикатора) и 11 (длина идентификатора) ограничены последовательностью символов «22».

• Значения позиций 20–22 (плана справочника) ограничены последовательностью символов «450».

Расширение ISO 2709 Нет. Сужение RUSMARC Нет.

8

Page 9: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Расширение RUSMARC Учитывая возможные изменения формата RUSMARC в процессе его развития, перечень значений для позиций 5–9, 17–19, 23 расширен: допустимо использование цифр, букв латинского алфавита в верхнем и нижнем регистре, а также символа « » (пробел). Данное расширение не противоречит стандарту ISO 2709.

Элемент leader Элемент leader соответствует маркеру записи стандарта ISO 2709. Назначение Контейнер для маркера записи. Родительский элемент record Обязательность Обязательный для каждого элемента record. Повторяемость Не повторяется внутри элемента record. Тип leaderType

Аналог MARC 21 XML Schema leader

Тип subfieldIdentifier Тип subfieldIdentifier описывает ограничения, накладываемые на идентификаторы (коды) подполей. Содержимое Строка символов. Ограничения • Длина строки – 1 символ.

• Строка может содержать десятичную цифру из диапазона от 0 до 9 или букву латинского алфавита в верхнем или нижнем регистре.

Атрибуты Нет. Сужение ISO 2709 См. Ограничения Расширение ISO 2709 Нет. Сужение RUSMARC Нет. Расширение RUSMARC Учитывая возможные изменения формата RUSMARC в процессе его

развития, перечень значений для кодов подполей расширен: допустимо использование цифр и букв латинского алфавита в верхнем и нижнем регистре. Данное расширение не противоречит стандарту ISO 2709.

Тип subfieldType Тип subfieldType описывает структуру подполей полей данных. Содержимое Данные произвольной структуры. Ограничения Нет. Атрибуты code – идентификатор (код) подполя.

Обязательный. Тип: subfieldIdentifier.

id, idref – см. «Общие атрибуты». Сужение ISO 2709 Нет. Расширение ISO 2709 Атрибуты id, idref. Сужение RUSMARC Нет. Расширение RUSMARC Нет.

Элемент subfield Элемент subfield соответствует подполю поля данных стандарта ISO 2709. Назначение Контейнер для подполя поля данных. Родительский элемент field Обязательность Обязательный для элемента field. Повторяемость Повторяется. Тип subfieldType Аналог MARC 21 XML Schema subfield

9

Page 10: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Тип controlTag Тип controlTag описывает ограничения, накладываемые на метки (коды) справочных (контрольных) полей. Содержимое Строка символов. Ограничения • Длина строки – 3символа.

• Позиции 1–2 содержат последовательность символов «00» (два нуля). • Позиция 3 содержит либо десятичную цифру из диапазона от 1 до 9,

либо букву латинского алфавита в верхнем или нижнем регистре. Атрибуты Нет. Сужение ISO 2709 Нет. Расширение ISO 2709 Нет. Сужение RUSMARC Нет. Расширение RUSMARC Учитывая возможные изменения формата RUSMARC в процессе его

развития, перечень значений для последнего символа метки (кода) справочного (контрольного) поля расширен: допустимо использование цифр от 1 до 9 и букв латинского алфавита в верхнем и нижнем регистре. Данное расширение не противоречит стандарту ISO 2709.

Тип controlType Тип controlType описывает структуру справочных (контрольных) полей. Содержимое Строка символов. Ограничения Длина строки больше нуля. Атрибуты tag – метка (код) поля.

Обязательный. Тип: controlTag.

id, idref – см. «Общие атрибуты». Сужение ISO 2709 Нет. Расширение ISO 2709 Атрибуты id, idref. Сужение RUSMARC Нет. Расширение RUSMARC Нет.

Элемент control Элемент control соответствует справочным (контрольным) полям стандарта ISO 2709.. Назначение Контейнер для справочного поля. Родительский элемент record, field Обязательность Обязательный для каждого элемента record. Повторяемость Повторяется. Тип controlType Аналог MARC 21 XML Schema controlfield

10

Page 11: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Тип fieldTag Тип fieldTag описывает ограничения, накладываемые на метки (коды) полей данных. Содержимое Строка символов. Ограничения • Длина строки – 3 символа.

• Строка содержит десятичные цифры и буквы латинского алфавита в верхнем или нижнем регистре.

• Для позиций 1–2 в качестве значения не допускается последовательность символов «00» (два нуля).

Атрибуты Нет. Сужение ISO 2709 Нет. Расширение ISO 2709 Нет. Сужение RUSMARC Нет. Расширение RUSMARC Учитывая возможные изменения формата RUSMARC в процессе его

развития, перечень символов для формирования меток (кодов) полей данных расширен: допустимо использование цифр и букв латинского алфавита в верхнем и нижнем регистре. Данное расширение не противоречит стандарту ISO 2709.

Тип indicatorType Тип indicatorType описывает ограничения, накладываемые на индикаторы полей данных. Содержимое Строка символов. Ограничения • Длина строки – 1 символ.

• Строка содержит либо десятичную цифру из диапазона от 0 до 9, либо букву латинского алфавита в верхнем или нижнем регистре, либо символ « » (пробел), либо символ «|» (вертикальная черта).

Атрибуты Нет. Сужение ISO 2709 См. Ограничения. Расширение ISO 2709 Нет. Сужение RUSMARC Нет. Расширение RUSMARC Учитывая возможные изменения формата RUSMARC в процессе его

развития, перечень значений для индикаторов полей данных расширен: допустимо использование цифр, букв латинского алфавита в верхнем и нижнем регистре, символа « » (пробел) и символа «|» (вертикальная черта). Данное расширение не противоречит стандарту ISO 2709.

11

Page 12: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Тип fieldType Тип fieldType описывает структуру полей данных. Содержимое Элементы subfield. Ограничения Необходимо наличие по крайней мере одного элемента subfield. Атрибуты tag – метка (код) поля.

Обязательный. Тип: fieldTag.

i1 – индикатор 1. Обязательный. Тип: indicatorType.

i2 – индикатор 2. Обязательный. Тип: indicatorType.

id, idref – см. «Общие атрибуты». Сужение ISO 2709 Нет Расширение ISO 2709 Атрибуты id, idref. Сужение RUSMARC Нет. Расширение RUSMARC Нет.

Элемент field Элемент field соответствует полям данных стандарта ISO 2709. Назначение Контейнер для поля данных. Родительский элемент record, built-in Обязательность Не обязательный. Повторяемость Повторяется. Тип fieldType

Аналог MARC 21 XML Schema datafield

Тип built-inType Тип built-inType описывает структуру полей, имеющих встроенные поля. Содержимое Элементы control, field. Ограничения Необходимо наличие по крайней мере одного из элементов control или

field. Атрибуты tag – метка (код) поля.

Обязательный. Тип: fieldTag.

i1 – индикатор 1. Обязательный. Тип: indicatorType.

i2 – индикатор 2. Обязательный. Тип: indicatorType.

id, idref – см. «Общие атрибуты». Сужение ISO 2709 В ISO 2709 отсутствует Расширение ISO 2709 В ISO 2709 отсутствует Сужение RUSMARC Нет. Расширение RUSMARC Нет.

12

Page 13: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Элемент built-in Элемент built-in соответствует полям формата RUSMARC, имеющим встроенные поля. Назначение Контейнер для поля данных. Родительский элемент record

Обязательность Не обязательный. Повторяемость Повторяется. Тип Built-inType

Аналог MARC 21 XML Schema Нет.

Тип recordType Тип recordType описывает структуру записи. Содержимое Элементы leader, control, field, built-in. Ограничения • Элемент leader является обязательным для каждого элемента

record. • Элемент leader не повторяется и предшествует всем остальным

элементам. • Элемент control является обязательным и не может следовать за

элементами field или built-in. Атрибуты type – тип формата.

Не обязательный. Возможные значения: • Bibliographic - библиографический; • Authority - авторитетный; • Holdings - зарезервировано; • Classification - зарезервировано; • Community - зарезервировано.

format – диалект. Не обязательный. Возможные значения (перечень может быть расширен): • MARC21; • RUSMARC; • UNIMARC.

id, idref – см. «Общие атрибуты». Сужение ISO 2709 Нет. Расширение ISO 2709 Атрибуты type, format, id, idref.

Элемент built-in. Сужение RUSMARC Нет. Расширение RUSMARC Нет.

Элемент record Элемент record соответствует библиографической записи стандарта ISO 2709. Назначение Контейнер для единичной записи. Родительский элемент collection Обязательность Обязательный. Повторяемость Повторяется. Тип recordType Аналог MARC 21 XML Schema record

13

Page 14: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Элемент collection Элемент record соответствует группе библиографических записей в стандарте ISO 2709. Назначение Корневой элемент документа.

Контейнер для неограниченного набора записей. Обязательность Обязательный. Повторяемость Не повторяется. Родительский элемент Нет. Аналог MARC 21 XML Schema collection

Общие атрибуты Для всех элементов, кроме collection и leader введены атрибуты id и idref, предназначенные для идентификации элементов внутри документа и организации перекрестных связей между ними.

Атрибут id – уникальный идентификатор элемента внутри XML-документа. В соответствии со спецификацией языка XML, значением этого атрибута является строка символов, состоящая из букв, цифр и символов «_» (подчеркивание), «:» (двоеточие), «.» (точка), «-» (дефис). Первым символом обязательно должна быть буква, символ «_» (подчеркивание) или символ «:» (двоеточие).

Атрибут idref – ссылка на элемент внутри XML-документа. Значением этого атрибута является значение атрибута id того элемента, на который устанавливается ссылка.

Разметка записи Запись

Запись открывается тэгом <record> с опциональными атрибутами type и format, указывающими тип и диалект формата, и закрывается тэгом </record>.

Пример: <record type=”Bibliographic” format=”RUSMARC”> . . .

</record>

Маркер записи

Маркер записи открывается тэгом <leader> и закрывается тэгом </leader>.

Пример: <leader>00584nam2#2200181#i#450#</leader>

Справочные (контрольные) поля

Справочное (контрольное) поле открывается тэгом <control> с атрибутом tag, задающим код поля, и закрывается тэгом </control>.

Пример поля 001: <control tag=”001”>RU/NLR/bibl/31527</control>

Поля данных

Поле данных открывается тэгом <field> с атрибутом tag, задающим код поля, и закрывается тэгом </field>. Значения индикаторов указываются в атрибутах i1 и i2. Подполе открывается тэгом <subfield> с атрибутом code, задающим код подполя, и закрывается тэгом </subfield>.

Пример поля 200:

14

Page 15: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

<field tag="200" i1="1" i2="#"> <subfield code="a">Красное колесо</subfield> <subfield code="e">Повествованье в отмер. сроках</subfield> <subfield code="h">Узел 4</subfield> <subfield code="i">Апрель семнадцатого [(12 апр.-5 мая)</subfield> <subfield code="i">Гл. 92-186]</subfield> <subfield code="a">На обрыве повествования</subfield> <subfield code="h">[Узлы 5-20]</subfield> </field>

Поля, имеющие встроенные поля

Поле, имеющее встроенные поля открывается тэгом <built-in> с атрибутом tag, задающим код поля, и закрывается тэгом </built-in>. Значения индикаторов указываются в атрибутах i1 и i2. Встроенные поля размечаются как справочные (контрольные) поля и/или поля данных.

Пример поля 461: <built-in tag="461" i1="#" i2="0"> <control tag="001">RU\NLR\bibl\2580</control> <field tag="200" i1="1" i2="#"> <subfield code="a">Собрание сочинений</subfield> <subfield code="f">Александр Солженицын</subfield> <subfield code="v">Т. 20</subfield> </field> <field tag="700" i1="#" i2="1"> <subfield code="a">Солженицын</subfield> <subfield code="b">А. И.</subfield> <subfield code="f">1918- </subfield> <subfield code="g">Александр Исаевич</subfield> <subfield code="3">RU\NLR\indavt\230</subfield> </field> </built-in>

Данные, неконвертируемые из исходного формата

Данные, неконвертируемые из исходного формата, могут быть помещены в подполе $b поля 886 в той разметке, в которой они представлены в исходной записи (ISO 2709, XML и пр.).

Примеры поля 886: <field tag="886" i1="2" i2="#"> <subfield code="2">usmarc</subfield> <subfield code="a">010</subfield> <subfield code="b">##$agb 89039974</subfield> </field>

Если исходная запись была представлена в виде XML-документа (например, MARC 21 XML), То поле 886 будет выглядеть следующим образом:

<field tag="886" i1="2" i2="#"> <subfield code="2">usmarc</subfield> <subfield code="a">010</subfield> <subfield code="b"> <datafield tag=”010” ind1=" " ind2=" "> <subfield code="a">gb 89039974</subfield> </datafield> </subfield> </field>

Полный пример <collection> <record type="Bibliographic" format="RUSMARC">

15

Page 16: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

<leader>00584nam2#2200181#i#450#</leader> <control tag="001">RU\NLR\bibl\2464</control> <control tag="005">19990702164148.0</control> <field tag="100" i1="#" i2="#"> <subfield code="a">19980706d1991####u##y0rusy0102####ca</subfield> </field> <field tag="101" i1="0" i2="#"> <subfield code="a">rus</subfield> </field> <field tag="102" i1="#" i2="#"> <subfield code="a">US</subfield> <subfield code="a">FR</subfield> </field> <field tag="105" i1="#" i2="#"> <subfield code="a">y###z###00|a|</subfield> </field> <field tag="200" i1="1" i2="#"> <subfield code="a">Красное колесо</subfield> <subfield code="e">Повествованье в отмер. сроках</subfield> <subfield code="h">Узел 4</subfield> <subfield code="i">Апрель семнадцатого [(12 апр.-5 мая)</subfield> <subfield code="i">Гл. 92-186]</subfield> <subfield code="a">На обрыве повествования</subfield> <subfield code="h">[Узлы 5-20]</subfield> </field> <field tag="210" i1="#" i2="#"> <subfield code="d">1991</subfield> </field> <field tag="215" i1="#" i2="#"> <subfield code="a">564, [1], 136 с.</subfield> </field> <built-in tag="461" i1="#" i2="0"> <control tag="001">RU\NLR\bibl\2580</control> <field tag="200" i1="1" i2="#"> <subfield code="a">Собрание сочинений</subfield> <subfield code="f">Александр Солженицын</subfield> <subfield code="v">Т. 20</subfield> </field> <field tag="700" i1="#" i2="1"> <subfield code="a">Солженицын</subfield> <subfield code="b">А. И.</subfield> <subfield code="f">1918- </subfield> <subfield code="g">Александр Исаевич</subfield> <subfield code="3">RU\NLR\indavt\230</subfield> </field> </built-in> <field tag="801" i1="#" i2="0"> <subfield code="a">RU</subfield> <subfield code="b">NLR</subfield> <subfield code="c">19980702</subfield> <subfield code="g">PSBO</subfield> </field> <field tag="899" i1="#" i2="#"> <subfield code="a">NLR</subfield> <subfield code="j">97-5/2495</subfield> </field> </record> </collection>

16

Page 17: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Техническое описание

Elements Complex types Simple types

collection built-inType controlTag

record controlType fieldTag

fieldType indicatorType

recordType leaderType

subfieldType notEmptyString

subfieldIdentifier

element collection

diagram

children record

source <xs:element name="collection"> <xs:complexType> <xs:sequence> <xs:element ref="record" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>

element record

diagram

type recordType

children leader control field built-in

used by element collection

attributes Name Type Use Default Fixed Annotation

type xs:string optional

format xs:string optional

source <xs:element name="record" type="recordType"/>

17

Page 18: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

complexType built-inType

diagram

children control field

used by element recordType/built-in

attributes Name Type Use Default Fixed Annotation

tag fieldTag required

i1 indicatorType required

i2 indicatorType required

id xs:ID optional

idref xs:IDREF optional

source <xs:complexType name="built-inType"> <xs:choice maxOccurs="unbounded"> <xs:element name="control" type="controlType"/> <xs:element name="field" type="fieldType"/> </xs:choice> <xs:attribute name="tag" type="fieldTag" use="required"/> <xs:attribute name="i1" type="indicatorType" use="required"/> <xs:attribute name="i2" type="indicatorType" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:complexType>

element built-inType/control

diagram

type controlType

facets minLength 1

attributes Name Type Use Default Fixed Annotation

tag controlTag required

id xs:ID optional

idref xs:IDREF optional

source <xs:element name="control" type="controlType"/>

18

Page 19: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

element built-inType/field

diagram

type fieldType

children subfield

attributes Name Type Use Default Fixed Annotation

tag fieldTag required

i1 indicatorType required

i2 indicatorType required

id xs:ID optional

idref xs:IDREF optional

source <xs:element name="field" type="fieldType"/>

complexType controlType

diagram

type extension of notEmptyString

used by elements recordType/control built-inType/control

facets minLength 1

attributes Name Type Use Default Fixed Annotation

tag controlTag required

id xs:ID optional

idref xs:IDREF optional

source <xs:complexType name="controlType"> <xs:simpleContent> <xs:extension base="notEmptyString"> <xs:attribute name="tag" type="controlTag" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType>

19

Page 20: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

complexType fieldType

diagram

children subfield

used by elements recordType/field built-inType/field

attributes Name Type Use Default Fixed Annotation

tag fieldTag required

i1 indicatorType required

i2 indicatorType required

id xs:ID optional

idref xs:IDREF optional

source <xs:complexType name="fieldType"> <xs:sequence> <xs:element name="subfield" type="subfieldType" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="tag" type="fieldTag" use="required"/> <xs:attribute name="i1" type="indicatorType" use="required"/> <xs:attribute name="i2" type="indicatorType" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:complexType>

element fieldType/subfield

diagram

type subfieldType

attributes Name Type Use Default Fixed Annotation

code subfieldIdentifier

required

id xs:ID optional

idref xs:IDREF optional

source <xs:element name="subfield" type="subfieldType" maxOccurs="unbounded"/>

20

Page 21: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

complexType recordType

diagram

children leader control field built-in

used by element record

attributes Name Type Use Default Fixed Annotation

type xs:string optional

format xs:string optional

source <xs:complexType name="recordType"> <xs:sequence> <xs:element name="leader" type="leaderType"/> <xs:element name="control" type="controlType" maxOccurs="unbounded"/> <xs:choice maxOccurs="unbounded"> <xs:element name="field" type="fieldType"/> <xs:element name="built-in" type="built-inType"/> </xs:choice> </xs:sequence> <xs:attribute name="type" use="optional"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Bibliographic"/> <xs:enumeration value="Authority"/> <xs:enumeration value="Holdings"/> <xs:enumeration value="Classification"/> <xs:enumeration value="Community"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="format" use="optional"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="UNIMARC"/> <xs:enumeration value="RUSMARC"/> <xs:enumeration value="MARC21"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType>

element recordType/leader

diagram

type leaderType

facets pattern \d{5}[ 0-9A-Za-z]{5}22\d{5}[ 0-9A-Za-z]{3}450[ 0-9A-Za-z]

source <xs:element name="leader" type="leaderType"/>

21

Page 22: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

element recordType/control

diagram

type controlType

facets minLength 1

attributes Name Type Use Default Fixed Annotation

tag controlTag required

id xs:ID optional

idref xs:IDREF optional

source <xs:element name="control" type="controlType" maxOccurs="unbounded"/>

element recordType/field

diagram

type fieldType

children subfield

attributes Name Type Use Default Fixed Annotation

tag fieldTag required

i1 indicatorType required

i2 indicatorType required

id xs:ID optional

idref xs:IDREF optional

source <xs:element name="field" type="fieldType"/>

element recordType/built-in

diagram

type built-inType

children control field

attributes Name Type Use Default Fixed Annotation

tag fieldTag required

i1 indicatorType required

i2 indicatorType required

id xs:ID optional

idref xs:IDREF optional

source <xs:element name="built-in" type="built-inType"/>

22

Page 23: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

complexType subfieldType

diagram

used by element fieldType/subfield

attributes Name Type Use Default Fixed Annotation

code subfieldIdentifier

required

id xs:ID optional

idref xs:IDREF optional

source <xs:complexType name="subfieldType" mixed="true"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:any processContents="lax"/> </xs:sequence> <xs:attribute name="code" type="subfieldIdentifier" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:complexType>

simpleType controlTag

type restriction of xs:string

used by attribute controlType/@tag

facets pattern 00[1-9a-zA-Z]

source <xs:simpleType name="controlTag"> <xs:restriction base="xs:string"> <xs:pattern value="00[1-9a-zA-Z]"/> </xs:restriction> </xs:simpleType>

simpleType fieldTag

type restriction of xs:string

used by attributes fieldType/@tag built-inType/@tag

facets pattern (0[1-9][0-9])|([1-9][0-9]{2})

source <xs:simpleType name="fieldTag"> <xs:restriction base="xs:string"> <xs:pattern value="(0[1-9][0-9])|([1-9][0-9]{2})"/> </xs:restriction> </xs:simpleType>

simpleType indicatorType

type restriction of xs:string

used by attributes fieldType/@i1 built-inType/@i1 fieldType/@i2 built-inType/@i2

facets whiteSpace preserve

pattern [\da-z \|]

source <xs:simpleType name="indicatorType"> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> <xs:pattern value="[\da-z \|]"/> </xs:restriction> </xs:simpleType>

23

Page 24: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

simpleType leaderType

type restriction of xs:string

used by element recordType/leader

facets pattern \d{5}[ 0-9A-Za-z]{5}22\d{5}[ 0-9A-Za-z]{3}450[ 0-9A-Za-z]

source <xs:simpleType name="leaderType"> <xs:restriction base="xs:string"> <xs:pattern value="\d{5}[ 0-9A-Za-z]{5}22\d{5}[ 0-9A-Za-z]{3}450[ 0-9A-Za-z]"/> </xs:restriction> </xs:simpleType>

simpleType notEmptyString

type restriction of xs:string

used by complexType controlType

facets minLength 1

source <xs:simpleType name="notEmptyString"> <xs:restriction base="xs:string"> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType>

simpleType subfieldIdentifier

type restriction of xs:string

used by attribute subfieldType/@code

facets pattern [\da-zA-Z]

source <xs:simpleType name="subfieldIdentifier"> <xs:restriction base="xs:string"> <xs:pattern value="[\da-zA-Z]"/> </xs:restriction> </xs:simpleType>

24

Page 25: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

XML-схема <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="collection"> <xs:complexType> <xs:sequence> <xs:element ref="record" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="record" type="recordType"/> <xs:complexType name="recordType"> <xs:sequence> <xs:element name="leader" type="leaderType"/> <xs:element name="control" type="controlType" maxOccurs="unbounded"/> <xs:choice maxOccurs="unbounded"> <xs:element name="field" type="fieldType"/> <xs:element name="built-in" type="built-inType"/> </xs:choice> </xs:sequence> <xs:attribute name="type" use="optional"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Bibliographic"/> <xs:enumeration value="Authority"/> <xs:enumeration value="Holdings"/> <xs:enumeration value="Classification"/> <xs:enumeration value="Community"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="format" use="optional"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="UNIMARC"/> <xs:enumeration value="RUSMARC"/> <xs:enumeration value="MARC21"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:simpleType name="notEmptyString"> <xs:restriction base="xs:string"> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="leaderType"> <xs:restriction base="xs:string"> <xs:pattern value="\d{5}[ 0-9A-Za-z]{5}22\d{5}[ 0-9A-Za-z]{3}450[ 0-9A-Za-z]"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="controlTag"> <xs:restriction base="xs:string"> <xs:pattern value="00[1-9a-zA-Z]"/> </xs:restriction> </xs:simpleType> <xs:complexType name="controlType"> <xs:simpleContent> <xs:extension base="notEmptyString"> <xs:attribute name="tag" type="controlTag" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/>

25

Page 26: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

<xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="fieldTag"> <xs:restriction base="xs:string"> <xs:pattern value="(0[1-9][0-9])|([1-9][0-9]{2})"/> </xs:restriction> </xs:simpleType> <xs:complexType name="fieldType"> <xs:sequence> <xs:element name="subfield" type="subfieldType" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="tag" type="fieldTag" use="required"/> <xs:attribute name="i1" type="indicatorType" use="required"/> <xs:attribute name="i2" type="indicatorType" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:complexType> <xs:simpleType name="indicatorType"> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> <xs:pattern value="[\da-z \|]"/> </xs:restriction> </xs:simpleType> <xs:complexType name="built-inType"> <xs:choice maxOccurs="unbounded"> <xs:element name="control" type="controlType"/> <xs:element name="field" type="fieldType"/> </xs:choice> <xs:attribute name="tag" type="fieldTag" use="required"/> <xs:attribute name="i1" type="indicatorType" use="required"/> <xs:attribute name="i2" type="indicatorType" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:complexType> <xs:simpleType name="subfieldIdentifier"> <xs:restriction base="xs:string"> <xs:pattern value="[\da-zA-Z]"/> </xs:restriction> </xs:simpleType> <xs:complexType name="subfieldType" mixed="true"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:any processContents="lax"/> </xs:sequence> <xs:attribute name="code" type="subfieldIdentifier" use="required"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="idref" type="xs:IDREF" use="optional"/> </xs:complexType> </xs:schema>

26

Page 27: RUSMARCXML/Slim: XML-схема для библиографических …immortalium-kuban.narod.ru/retro/rusmarcxml_slim.pdf · форматов RUSMARC. В основу разработки

Стандарты и спецификации • ГОСТ 7.14-98 (ИСО 2709-96).Система стандартов по информации, библиотечному

и издательскому делу. Формат для обмена информацией. Структура записи: Межгос. стандарт / Межгос. совет по стандартизации, метрологии и сертификации. - Взамен ГОСТ 7.14-84; Введ. 01.06.99. - Минск: Изд-во стандартов, 1999. - 7 с. -Группа Т62.

• Российский коммуникативный формат представления библиографических записей в машиночитаемой форме (российская версия UNIMARC). URL: http://www.rba.ru:8101/rusmarc/.

• Extensible Markup Language (XML) 1.0 (Second Edition). W3C Recommendation 6 October 2000. URL: http://www.w3.org/TR/REC-xml.

• XML Schema Part 1: Structures. W3C Recommendation 2 May 2001. URL: http://www.w3.org/TR/xmlschema-1/.

• XML Schema Part 2: Datatypes. W3C Recommendation 02 May 2001. URL: http://www.w3.org/TR/xmlschema-2/.

27