§ 2.3 Элементы описания книги.
Базовые структурные элементы
В самом начале любого файла книги идет признак формата XML
<?xml version="1.0" encoding="windows-1251"?>
Здесь указана сигнатура принадлежности к формату XML, его версия и кодировка файла. Для русскоязычных FictionBook это обычно windows-1251 или utf-8. [2.2]
За ним в обязательном порядке следует:
Корневой элемент.
Cинтаксис: <FictionBook>content</FictionBook>.
Фактически, всегда используется в виде:
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
content
</FictionBook>.
Используется в элементах: корневой элемент
Вложенные элементы: stylesheet, description, body, binary
Количество вхождений: одно
Атрибуты: xmlns
Версия формата: 2.0
Пример: см. пример книги FictionBook, § 2.2
Список стилей, позволяющих конкретно определить, как будет выглядеть книга на экране устройства для чтения. До последнего времени читалками не поддерживался и практически не использовался. Лишь в конце 2007 года появился CoolReader 3.09 с экспериментальной поддержкой stylesheet.
Cинтаксис: <stylesheet>content</stylesheet>.
Используется в элементах: FictionBook
Вложенные элементы: нет
Количество вхождений: одно или отсутствует.
Атрибуты: type
Версия формата: 2.0
Пример:
.body{font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;}
.p{margin:0.5em 0 0 0.3em; padding:0.2em; text-align:justify;}
Заголовок (описание) книги.
Cинтаксис: <description>content</description>.
Используется в элементах: FictionBook
Вложенные элементы: title-info, src-title-info, document-info, publish-info, custom-info, output
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
Тело книги. Допускаются дополнительные body для примечаний и дополнительных материалов.
Cинтаксис: <body>content</body>.
Используется в элементах: FictionBook
Вложенные элементы: image, title, epigraph, section
Количество вхождений: одно и более
Атрибуты: name
Версия формата: 2.0
Пример:
Заголовок
Текст.
Содержит бинарные элементы, присоединяемые к файлу книги. Как правило, это картинки.
Cинтаксис: <binary>content</binary>.
Используется в элементах: FictionBook
Вложенные элементы: нет
Количество вхождений: произвольное
Атрибуты: id (обязательный), content-type (обязательный)
Версия формата: 2.0
Пример:
iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0
RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY
SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=
§ 2.4 Элементы описания книги (description). Элементы первого уровня
Содержит базовую информацию о книге (заголовок, информация об авторе и переводчике, аннотация, вхождение в серию и т.д.)
Cинтаксис: <title-info>content</title-info>.
Используется в элементах: description
Вложенные элементы: genre, author, book-title, annotation, keywords, date, coverpage, lang, src-lang, translator, sequence
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
Этот роман — фантастический боевик, написанный в лучших традициях жанра. Герой книги — Руслан Фатеев, уроженец планеты Новый Крым, — идеальный солдат грядущей войны с Чужими, жуткими и загадочными монстрами, остановить которых не в силах никто и ничто. Но это будет потом, а пока форма имперского десантника, до боли напоминающая форму солдат вермахта времен Второй мировой, ложится на его плечи как клеймо предателя, покинувшего свой дом и вступившего в ряды оккупантов.
Аналогично src-title-info содержит базовую информацию о книге-оригинале (для переводных книг).
Здесь наблюдается интересный момент: как title-info, так и src-title-info содержат элемент src-lang. Хотя, по логике, его следовало бы упразднить.
Cинтаксис: <src-title-info>content</src-title-info>.
Используется в элементах: description
Вложенные элементы: genre, author, book-title, annotation, keywords, date, coverpage, lang, src-lang, translator, sequence
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.1
Пример:
Информация о самом файле FictionBook — кем, когда и с помощью каких программных средств создана данная электронная книга.
Cинтаксис: <document-info>content</document-info>.
Используется в элементах: description
Вложенные элементы: author, program-used, date, src-url, src-ocr, id, version, history
2.2
UTF-8 — это ASCII-совместимая многобайтная кодировка Unicode.
В отличие от стандартного Unicode, в utf-8 cимволы с кодами от 0x00000000 до 0x0000007f (стандартный набор US-ASCII) кодируются как байты с кодами от 0x00 до 0x7f (совместимость с кодовой таблицей ASCII). Это означает, что файлы и строки, содержащие только 7-битные ASCII-символы, будут иметь одинаковое представление как в ASCII, так и в UTF-8.