Часть II Подробное описание формата FictionBook

§ 2.1 Структура файла FictionBook. Базовые понятия

Книга FictionBook представляет собой XML-файл.

Структурно этот файл можно разделить на три части.

1) Desсription — заголовок (описание) книги;

2) Body — непосредственно текст книги. В книге может быть несколько body.

3) Binary — необязательная часть. Содержит бинарные файлы, в кодировке BASE64. [2.1] Как правило, это картинки.

§ 2.2 Пример книги в формате FictionBook

Cпецификация (schema) FictionBook находится на сайте Дмитрия Грибова, а также входит в комплект FB Tools. Поэтому размещать ее в электронной версии книги смысла нет.

Но пример книги в формате FictionBook привести необходимо:

reference

Имя автора

Фамилия автора

Юзич

Пример книги в формате FictionBook 2.1

Это пример книги в формате FictiionBook

14 апреля 2006 г.

ru

Юзич

FB Tools

2006-04-14

1E693E16-8A80-4391-9800-C1A91A5E29A7

1.0

v 1.0 — создание книги (Юзич)

</p> <p> <p>Юзич</p></p> <p> <p>ПРИМЕР КНИГИ В ФОРМАТЕ FictionBook 2.1</p></p> <p>

Это эпиграф

Автор эпиграфа

</p> <p> <p>Первая секция</p></p> <p>

Секции обычно содержат текст.

Текст может разделяться пустыми строками.

Подзаголовок

Или подзаголовками.

</p> <p> <p>Вторая секция</p></p> <p>

</p> <p> <p>Первая вложенная секция</p></p> <p>

Текст может быть полужирным или курсивным.

Содержать линки и [сноски].

В тексте могут быть картинки.

</p> <p> <p>Вторая вложенная секция</p></p> <p>

Это цитата.

Автор цитаты.

Снова текст.

</p> <p> <p>Третья секция</p></p> <p>

Стихи:

</p> <p> <p>Парус</p></p> <p>

А у дельфина взрезано брюхо винтом.

Выстрела в спину не ожидает никто.

На батарее нету снарядов уже.

Надо быстрее на вираже.

Но парус! Порвали парус!

Каюсь! Каюсь! Каюсь!

Владимир Высоцкий

Снова обычный текст.

</p> <p> <p>Примечания</p></p> <p>

</p> <p> <p>1</p></p> <p>

Текст сноски.

iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0

RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY

SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=

§ 2.3 Элементы описания книги. Базовые структурные элементы

В самом начале любого файла книги идет признак формата XML

<?xml version="1.0" encoding="windows-1251"?>

Здесь указана сигнатура принадлежности к формату XML, его версия и кодировка файла. Для русскоязычных FictionBook это обычно windows-1251 или utf-8. [2.2]

За ним в обязательном порядке следует:

Элемент FictionBook

Корневой элемент.

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

Элемент stylesheet

Список стилей, позволяющих конкретно определить, как будет выглядеть книга на экране устройства для чтения. До последнего времени читалками не поддерживался и практически не использовался. Лишь в конце 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;}

Элемент description

Заголовок (описание) книги.

Cинтаксис: <description>content</description>.

Используется в элементах: FictionBook

Вложенные элементы: title-info, src-title-info, document-info, publish-info, custom-info, output

Количество вхождений: одно

Атрибуты: нет

Версия формата: 2.0

Пример:

nonfiction

Имя автора

Фамилия автора

Название книги

2007 г.

ru

Юзич

FB Tools

2006-07-10

46C35002-014D-4AE4-8FE4-5E7881D72B0D

1.0

Элемент body

Тело книги. Допускаются дополнительные body для примечаний и дополнительных материалов.

Cинтаксис: <body>content</body>.

Используется в элементах: FictionBook

Вложенные элементы: image, title, epigraph, section

Количество вхождений: одно и более

Атрибуты: name

Версия формата: 2.0

Пример:

</p> <p> <p>Заголовок</p></p> <p>

Текст.

Элемент binary

Содержит бинарные элементы, присоединяемые к файлу книги. Как правило, это картинки.

Cинтаксис: <binary>content</binary>.

Используется в элементах: FictionBook

Вложенные элементы: нет

Количество вхождений: произвольное

Атрибуты: id (обязательный), content-type (обязательный)

Версия формата: 2.0

Пример:

iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0

RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY

SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=

§ 2.4 Элементы описания книги (description). Элементы первого уровня

Элемент title-info

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

Cинтаксис: <title-info>content</title-info>.

Используется в элементах: description

Вложенные элементы: genre, author, book-title, annotation, keywords, date, coverpage, lang, src-lang, translator, sequence

Количество вхождений: одно

Атрибуты: нет

Версия формата: 2.0

Пример:

sf

Ник

Перумов

Череп на рукаве

Этот роман — фантастический боевик, написанный в лучших традициях жанра. Герой книги — Руслан Фатеев, уроженец планеты Новый Крым, — идеальный солдат грядущей войны с Чужими, жуткими и загадочными монстрами, остановить которых не в силах никто и ничто. Но это будет потом, а пока форма имперского десантника, до боли напоминающая форму солдат вермахта времен Второй мировой, ложится на его плечи как клеймо предателя, покинувшего свой дом и вступившего в ряды оккупантов.

2002

ru

Элемент src-title-info

Аналогично 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

Пример:

adv_maritime

Robert

Loevis

Stivenson

Treasure Island

1896

en

Элемент document-info

Информация о самом файле FictionBook — кем, когда и с помощью каких программных средств создана данная электронная книга.

Cинтаксис: <document-info>content</document-info>.

Используется в элементах: description

Вложенные элементы: author, program-used, date, src-url, src-ocr, id, version, history

Количество вхождений: одно

Атрибуты: нет

Версия формата: 2.0

Пример:

Юзич

Duzz-scrbs@rambler.ru

FB Tools

2006-05-22

http://hungryewok.narod.ru/

OCR: Голодный Эвок Грызли; SpellCheck: Юзич

86F8C27D-9F15-4DE7-8751-12AE057CA4DC

1.0

v 1.0 — вычитка, конвертация в FB2 (Юзич)

Элемент publish-info

Информация о бумажном оригинале книги, если таковой существовал в природе.

Cинтаксис: <publish-info>content</publish-info>.

Используется в элементах: description

Вложенные элементы: book-name, publisher, city, year, isbn, sequence

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример:

С. Павлов «Лунная радуга»

Детская литература

Москва

1989

5-08-000842-3

Элемент custom-info

Произвольная дополнительная информация.

Cинтаксис: <custom-info>текст</custom-info>.

Используется в элементах: description

Вложенные элементы:

Количество вхождений: одно или отсутствует

Атрибуты: info-type (обязательный)

Версия формата: 2.0

Пример:

Сайт Голодного Эвока Грызли — лучшее в Рунете собрание книг по «Звёздным Войнам»!

§ 2.5 Элементы описания книги (description). Элементы второго уровня

Элемент genre

Жанр произведения.

Содержимое элемента строго фиксировано и определяется файлом FictionBookGenres.xsd, входящим в состав спецификации FictionBook.

Список жанров с переводом приведен в Приложении В.

Cинтаксис: <genre>фиксированное значение</genre>.

Используется в элементах: title-info, src-title-info

Вложенные элементы: нет

Количество вхождений: одно или более

Атрибуты: match

Версия формата: 2.0

Пример:

sf_action

sf_space

Элемент author

Автор произведения или создатель электронной книги.

Согласно спецификации, существуют два варианта правильного заполнения элемента. В первом случае, обязательно должны быть заполнены поля «Имя» и «Фамилия» (элементы first-name и last-name). Во втором — поле «Ник» (элемент nickname).

Cинтаксис: <author>Content</author>.

Используется в элементах: title-info, src-title-info, document-info

Вложенные элементы: first-name, middle-name, last-name, nickname, home-page, email

Количество вхождений: одно или более

Атрибуты: нет

Версия формата: 2.0

Михаил

Иосифович

Кондратович

Юзич

http://www.yuzzich.narod.ru

yuzzich@yandex.ru

Элемент book-title

Название книги.

Cинтаксис: <book-title>текст</book-title>.

Используется в элементах: title-info, src-title-info

Вложенные элементы:

Количество вхождений: одно

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента title-info

Элемент annotation

Аннотация. Краткое текстовое описание книги

Cинтаксис: <annotation>content</annotation>.

Используется в элементах: title-info, src-title-info, section

Вложенные элементы: p, poem, cite, subtitle, table, empty-line

Количество вхождений: одно или отсутствует

Атрибуты: id

Версия формата: 2.0

Пример: см. пример элемента title-info

Элемент keywords

Список ключевых слов, с помощью которых библиотечный софт может искать книгу.

Слова должны быть характерными для конкретного произведения.

Cинтаксис: <keywords>текст</keywords>.

Используется в элементах: title-info, src-title-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример:

Лунная радуга, Анарда, экзот, гурм, МУКБОП, Япет, Казаранг

Элемент date

Дата написания книги или создания файла.

Список ключевых слов, с помощью которых библиотечный софт может искать книгу.

Элемент date предусмотрен также и в стихотворениях, но из-за отсутствия поддержки в редакторах там не используется.

Cинтаксис: <date>текст</date>.

Используется в элементах: title-info, src-title-info, document-info, poem

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: value

Версия формата: 2.0

Пример:

Красноярск, июнь 1989

Элемент coverpage

Картинка обложки. Содержит внутри элемент image, в который непосредственно и находится ссылка на bin-объект. Элементов image может быть несколько.

Cинтаксис: <coverpage></coverpage>

Используется в элементах: title-info, src-title-info

Вложенные элементы: image

Количество вхождений: одно или отсутствует.

Атрибуты: нет

Версия формата: 2.0

Пример:

Элемент lang

Язык, на котором написана книга.

Список возможных значений приведен в Приложении Г.

Cинтаксис: <lang>по возможности, фиксированное значение</lang>

Используется в элементах: title-info, src-title-info

Вложенные элементы: нет

Количество вхождений: одно

Атрибуты: нет

Версия формата: 2.0

Пример:

ru

Элемент src-lang

Язык, на котором написан оригинал (для переводных книг).

Список возможных значений приведен в Приложении Г.

Cинтаксис: <src-lang>по возможности, фиксированное значение</src-lang>

Используется в элементах: title-info, src-title-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример:

en

Элемент translator

Информация о переводчике (для переводных книг).

Cинтаксис: <translator>content</translator>

Используется в элементах: title-info, src-title-info

Вложенные элементы: first-name, middle-name, last-name, nickname, home-page, email

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемент author

Элемент sequence

Серия, в которую входит книга. Допускается неограниченное число вложенных серий.

Cинтаксис: <sequence/> или <sequence><sequence/></sequence>

Используется в элементах: title-info, src-title-info

Вложенные элементы: sequence

Количество вхождений: произвольное

Атрибуты: name (обязательный), number

Версия формата: 2.0

Пример:

Элемент program-used

Программное обеспечение, использовавшееся при создании книги.

Cинтаксис: <program-used>текст</program-used>

Используется в элементах: document-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример:

FB Tools, EmEditor, hands.drv & brain.sys

Элемент src-url

Ссылка на сайт, если исходный текст книги был скачан из Интернета.

Cинтаксис: <src-url>текст</src-url>

Используется в элементах: document-info

Вложенные элементы: нет

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.0

Пример:

http://www.natahaus.ru

Элемент src-ocr

Информация о людях, которые сканировали (набирали) и вычитывали книгу.

Cинтаксис: <src-ocr>текст</src-ocr>

Используется в элементах: document-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример:

OCR Zmiy; SpellCheck Юзич

Элемент id

Уникальный идентификационный номер книги.

Cинтаксис: <id>текст</id>

Используется в элементах: document-info

Вложенные элементы: нет

Количество вхождений: одно

Атрибуты: нет

Версия формата: 2.0

Пример:

B3627A48-7F9C-400E-8CD7-0159B75F1A14

Элемент version

Номер версии файла.

Cинтаксис: <version>число</version>

Используется в элементах: document-info

Вложенные элементы: нет

Количество вхождений: одно

Атрибуты: нет

Версия формата: 2.0

Пример:

1.0

Элемент history

История изменений, вносившихся в файл.

Cинтаксис: <history>Content</history>

Используется в элементах: document-info

Вложенные элементы: p, poem, cite, subtitle, table, empty-line

Количество вхождений: одно или отсутствует

Атрибуты: id

Версия формата: 2.0

Пример:

v 1.0 — вычитка, конвертация в FB2 (Юзич)

v 1.1 — дополнительное форматирование (Faiber)

v 1.2 — дополнительная вычитка (Юзич)

v 1.3 — дополнительная вычитка (Юзич)

v 1.4 — окончательная (надеюсь!) вычитка (Юзич)

Элемент book-name

Название бумажного оригинала.

Cинтаксис: <book-name>текст</book-name>

Используется в элементах: publish-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента publish-info

Элемент publisher

Название издательства, выпустившего бумажный оригинал.

Используется в элементах: publish-info

Cинтаксис: <publisher>текст</publisher>

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента publish-info

Элемент city

Город, в котором был издан бумажный оригинал.

Cинтаксис:<city>текст</city>

Используется в элементах: publish-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента publish-info

Элемент year

Год выхода бумажного оригинала

Cинтаксис: <year>текст</year>

Используется в элементах: publish-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента publish-info

Элемент isbn

ISBN-код бумажного оригинала.

Cинтаксис: <isbn>текст</isbn>

Используется в элементах: publish-info

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента publish-info

§ 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе)

Элемент first-name

Имя автора книги или документа, а также переводчика.

Cинтаксис: <first-name>текст</first-name>

Используется в элементах: author, translator

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента author, § 2.5

Элемент middle-name

Отчество автора книги или документа, а также переводчика.

Cинтаксис: <middle-name>текст</middle-name>

Используется в элементах: author, translator

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента author, § 2.5

Элемент last-name

Фамилия автора книги или документа, а также переводчика.

Cинтаксис: <last-name>текст</last-name>

Используется в элементах: author, translator

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента author, § 2.5

Элемент nickname

Ник (сетевой псевдоним) автора книги или документа, а также переводчика.

Cинтаксис: <nickname>текст</nickname>

Используется в элементах: author, translator

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента author, § 2.5

Элемент home-page

Адрес персонального сайта автора книги или документа, а также переводчика.

Cинтаксис: <home-page>текст</home-page>

Используется в элементах: author, translator

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента author, § 2.5

Элемент email

Адрес электронной почты автора книги или документа, а также переводчика.

Cинтаксис: <email>текст</email>

Используется в элементах: author, translator

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента author, § 2.5

§ 2.7 Элементы тела книги (body).

Элемент image

Картинка.

Cинтаксис: <image/>

Используется в элементах: body, section, p

Вложенные элементы: нет

Количество вхождений: одно или отсутствует

Атрибуты: alt, title, id, href (обязательный).

Версия формата: 2.0

Пример:

Элемент title

Заголовок книги, раздела или стихотворения. С версии 2.1 — еще и картинки.

Cинтаксис: <title>content</title>

Используется в элементах: body, section, stanza, poem, image (2.1)

Вложенные элементы: p, empty-line

Количество вхождений: одно или отсутствует

Атрибуты: нет

Версия формата: 2.0

Пример:

</p> <p> <p>Ник ПЕРУМОВ</p></p> <p> <p>ЧЕРЕП НА РУКАВЕ</p></p> <p>

Элемент epigraph

Эпиграф.

Cинтаксис: <epigraph>content</epigraph>

Используется в элементах: body, section

Вложенные элементы: p, poem, cite, empty-line, text-author

Количество вхождений: произвольное

Атрибуты: id

Версия формата: 2.0

Пример:

Черт побери! Как и все другие, наказанные нами, вы управляетесь законом, который богачи придумали для собственной безопасности. Эти трусливые собачьи души не имеют смелости каким-либо иным способом защитить то, что они мошеннически нахапали. Проклятья и кровь на имуществе этих продувных бестий. Между нами единственное различие: они обирают бедняков под покровительством закона, не так ли? А мы грабим богатых, рассчитывая только на свою храбрость.

Чарльз Беллами, пират

Элемент section

Раздел.

Cинтаксис: <section>content</section>

Используется в элементах: body, section

Вложенные элементы: title, epigraph, image, annotation, section, p, poem, subtitle, cite, empty-line, table

Количество вхождений: одно и более

Атрибуты: id

Версия формата: 2.0

Пример:

</p> <p> <p>Заголовок секции</p></p> <p>

Текст.

§ 2.8 Элементы раздела книги (section). Элементы первого уровня.

Элемент cite

Цитата. Отрывок текста из другого произведения.

В FictionBook с помощью тэга cite также выделяются письма, записки, надписи, списки и еще много чего.

Cинтаксис: <cite>content</cite>

Используется в элементах: section, epigraph, annotation, history

Вложенные элементы: p, poem, empty-line, subtitle, table, text-author

Количество вхождений: произвольное

Атрибуты: id

Версия формата: 2.0

Пример:

«Что происходит в Зеленом Доме? По не подтвержденным, но и не опровергнутым сведениям несколько дней назад внушительная группа боевых ведьм совершила стремительный вояж за пределы Тайного Города. Куда именно? Как ни странно, это осталось загадкой: наши белокурые красавицы изменили традиционной словоохотливости и держат рот на замке. Остальные Великие Дома не проявляют беспокойства…»

(«Тиградком»)

Элемент poem

Стихи, песни, баллады и т.д.

Cинтаксис: <poem>content</poem>

Используется в элементах: section, epigraph, cite, annotation, history

Вложенные элементы: title, epigraph, stanza, text-author, date

Количество вхождений: произвольное

Атрибуты: id

Версия формата: 2.0

Пример:

</p> <p> <p>В тяжелой мантии торжественных обрядов…</p></p> <p>

В тяжелой мантии торжественных обрядов,

Неумолимая, меня не встреть.

На площади, под тысячами взглядов,

Хочу я умереть.

Чтобы лился на волосы и в губы

Полуденный огонь.

Чтоб были флаги, чтоб гремели трубы

И гарцевал мой конь…

Марина Цветаева,

Феодосия, 1913

Обращаю ваше внимание, что элемент date не поддерживается редакторами!

Элемент p

Обычный абзац текста.

Cинтаксис: <p>content</p>

Используется в элементах: annotation, history, section, epigraph, cite

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: id, style

Версия формата: 2.0

Пример:

Cамый обычный текст.

Элемент subtitle

Подзаголовок.

Cинтаксис: <subtitle>content</subtitle>

Используется в элементах: section, stanza, annotation, history

Вложенные элементы: strong, emphasis, style, a, strikethrough, sub, sup, code, image

Количество вхождений: произвольное

Атрибуты: id, style

Версия формата: 2.0

Пример:

* * *

Элемент empty-line

Пустая строка. Может использоваться как «немой» заголовок.

Cинтаксис: <empty-line/>

Используется в элементах: section, epigraph, cite, title, annotation, history

Вложенные элементы: нет

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.0

Пример:

После этого абзаца должна идти пустая строка.

Элемент table

Таблицы.

На момент написания книги поддерживается только читалками CoolReader и AlReader.

Cинтаксис: <table>content</table>

Используется в элементах: section, epigraph, annotation, history

Вложенные элементы: tr

Количество вхождений: произвольное

Атрибуты: id, style

Версия формата: 2.1

Пример:

Заголовок 1-го столбца Заголовок 2-го столбца Объединенный заголовок 3-го и 4-го столбцов Заголовок 5-го столбца
1-я ячейка 1-го столбца 1-я и 2-я ячейки 2-го столбца 1-я ячейка 3-го столбца 1-я ячейка 4-го столбца 1-я ячейка 5-го столбца
2-я ячейка 1-го столбца

2-я ячейка 3-го и 4-го столбцов

2-я ячейка 5-го столбца

Как видим, допускается размещение текста как непосредственно в самих элементах ячеек таблицы (td, th), так и предварительно заключеннного в элемент p.

Впрочем, это, вероятнее всего, огрех валидатора FBE. Ради эксперимента, я поместил в элемент td элемент cite. И валидатор это спокойно переварил.

§ 2.9 Элементы раздела книги (section). Элементы второго уровня.

Элемент stanza

Строфа стихотворения.

Cинтаксис: stanza>content</stanza>

Используется в элементах: poem

Вложенные элементы: title, subtitle, v

Количество вхождений: одно и более

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента poem

Элемент text-author

Автор эпиграфа, цитаты или стихов.

Cинтаксис: <text-author>content</text-author>

Используется в элементах: cite, epigraph, poem

Вложенные элементы: strong, emphasis, style, a, strikethrough, sub, sup, code, image

Количество вхождений: произвольное

Атрибуты: id, style

Версия формата: 2.0

Пример: см. пример элемента poem

Элемент v

Cтрока в строфе стихотворения.

Cинтаксис: <v>content</v>

Используется в элементах: stanza

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: одно и более

Атрибуты: нет

Версия формата: 2.0

Пример: см. пример элемента poem

§ 2.10 Элементы таблиц

Элемент tr

Строка таблицы.

Cинтаксис: <tr>content</tr>

Используется в элементах: table

Вложенные элементы: th, td

Количество вхождений: одно и более

Атрибуты: align

Версия формата: 2.1

Пример: см. пример элемента table

Элемент th

Заголовок столбца таблицы.

Cинтаксис: <th>content</th>

Используется в элементах: tr

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: одно или отсутствует

Атрибуты: id, style, colspan, rowspan, align

Версия формата: 2.1

Пример: см. пример элемента table

Элемент td

Ячейка столбца таблицы.

Cинтаксис: <td>content</td>

Используется в элементах: tr

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: одно и более

Атрибуты: id, style, colspan, rowspan, align

Версия формата: 2.1

Пример: см. пример элемента table

§ 2.11 Элементы абзаца (стилевые, они же inline элементы)

Элемент a

Ссылка или сноска.

Cинтаксис: <a>content</a>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: href (обязательный), type

Версия формата: 2.0

Пример:

Элемент code

Преформатированный текст. В читалках должен отображаться моноширинным шрифтом.

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

На момент написания книги поддерживается только читалкой CoolReader. Причем, поддерживается неправильно — как элемент аналогичный сite, хотя это такое же стилевое выделение, как strong или emphasis.

Cинтаксис: <code>content</code>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.1

Пример:

Преформатированный текст

Элемент emphasis

Наклонный шрифт (курсив).

Cинтаксис: <emphasis>content</emphasis>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.0

Пример:

Курсивный текст

Элемент strikethrough

Перечеркнутый шрифт.

На момент написания книги читалками не поддерживается.

Cинтаксис: <strikethrough>content</strikethrough>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.1

Пример:

Эта сволочь, этот нехороший человек…

Элемент strong

Полужирный шрифт.

Cинтаксис: <strong>content</strong>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.0

Пример:

Полужирный текст

Элемент style

Заранее определенный стиль для отображения книги.

Cинтаксис: <style>content</style>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: name (обязательный)

Версия формата: 2.0

Пример:

Этот текст будет

Элемент sub

Нижний индекс (subscript).

На момент написания книги читалками не поддерживается.

Cинтаксис: <sub>content</sub>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.1

Пример:

x1+x2=y

Элемент sup

Верхний индекс (superscript).

На момент написания книги читалками не поддерживается.

Cинтаксис: <sup>content</sup>

Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v

Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image

Количество вхождений: произвольное

Атрибуты: нет

Версия формата: 2.1

Пример:

E=mC2

§ 2.12 Элементы для платных книг

В версию 2.1 были введены специальные элементы для создания платных книг. Поскольку сам формат средств криптозащиты не предусматривает, обрабатывать эти тэги должен исключительно сервер библиотеки.

К сожалению, или, вернее, к счастью, эти элементы до сих пор не нашли применения.

Элемент output

Определяет способ вывода контента книги.

Cинтаксис: <output>content</output>

Используется в элементах: description

Вложенные элементы: part, output-document-class

Количество вхождений: произвольное

Атрибуты: mode (обязательный), currency, incude-all (обязательный)

Версия формата: 2.1

Пример:

Элемент output-document-class

Назначение неясно.

Cинтаксис:<output-document-class>parts</output-document-class>

Используется в элементах: output

Вложенные элементы: part

Количество вхождений: произвольное

Атрибуты: name, create, price

Версия формата: 2.1

Пример: нет

Элемент part

Делит книгу на платные и бесплатные части.

Cинтаксис:<part/>

Используется в элементах: output

Вложенные элементы: нет

Количество вхождений: произвольное

Атрибуты: mode, include

Версия формата: 2.1

Пример: см. пример элемента output

§ 2.13 Спецсимволы

Некоторые символы в теле книги отображаются особым образом. Это нужно для предотвращения сбоев. Например, «<» и «>» зарезервированы для обозначения границ тэгов. Если их использовать в прямом виде как-то еще, то программа будет считать это ошибкой.

Такие последовательности называются предопределенными сущностями.

Список таких символов в FictionBook крайне мал. Их, собственно, всего три.

& — &;

< — <;

> ; — >;

Cтандартные сущности XML ' и " в FiсtionBook не используются и конвертируются в символы «'» и «"» соответственно.

§ 2.14 Список атрибутов элементов

Многие элементы в FictionBook имеют дополнительные параметры — атрибуты.

Атрибут align

Выравнивание текста в ячейке таблицы.

Используется в элементах: td, th, tr

Значение: фиксированное; left, right, center, justify

Значение по умолчанию: left

Атрибут alt

Назначение аналогично HTML — текст, отображающийся вместо картинки.

Используется в элементах: image

Значение: произвольная текстовая строка

Атрибут colspan

Позволяет объединять столбцы таблиц.

Используется в элементах: th, td

Значение: произвольное целое число

Атрибут content-type

Определяет тип содержимого элемента-контейнера binary

Используется в элементах: binary

Значение: фиксированное; image/png, image/jpeg, image/tiff, image/bmp, octet-stream

Атрибут create

Назначение неясно.

Используется в элементах: output-document-class

Значение:

Атрибут currency

Валюта, в которой определена цена платной книги.

Используется в элементах: output

Значение: ограниченно-произвольное

Атрибут href

Ссылка. Как правило, внутри документа.

Используется в элементах: a, image

Значение: ссылка.

Атрибут id

Метка, позволяющая ссылаться на элемент.

Используется в элементах: annotation, binary, cite, epigraph, image, p, poem, section, subtitle, table, td, text-author, th

Значение: текстовая строка.

Атрибут info-type

Характеризует произвольную информацию.

Используется в элементах: custom-info

Значение: произвольная текстовая строка.

Атрибут include

Назначение неясно.

Используется в элементах: part

Значение:

Атрибут include-all

Назначение неясно.

Используется в элементах: output

Значение: фиксированное

Атрибут match

Определяет степень соответствия произведения выбранному жанру.

Используется в элементах: genre

Значение: целое число в диапазоне от 1 до 100

Атрибут mode

Способ вывода платного документа

Используется в элементах: output

Значение:

Атрибут name

Позволяет присвоить элементу имя. В отличие от метки (id), имя элемента используется исключительно программными средствами обработки документа.

Используется в элементах: body, sequence, output-document-class

Значение: произвольное

Атрибут number

Порядковый номер книги в серии.

Используется в элементах: sequence

Значение: произвольное целое число

Атрибут price

Цена платного документа

Используется в элементах: output-document-class

Значение: произвольное число c плавающей запятой

Атрибут rowspan

Позволяет объединять строки таблицы.

Используется в элементах: th, td

Значение: произвольное целое число

Атрибут style

Позволяет выбрать для элемента предопределенный стиль.

Используется в элементах: p, subtitle, table, td, text-author, th

Значение: произвольное; строка состоящая из латинских букв и цифр.

Пример:

Текст, выровненный по правому краю

Текст: фон черный, цвет шрифта белый, отступы справа и слева 20 процентов, сверху и снизу — 10 пикселей, высота строки 180 процентов

Атрибут title

Позволяет добавить к рисунку заголовок (подпись)

Используется в элементах: image

Значение: произвольная текстовая строка

Атрибут type

Определяет тип элемента.

Используется в элементах: a, stylesheet

Значение: фиксированное (текстовая строка) обычно «note» для элемента a и «text-css» для stylesheet

Атрибут value

Дата.

Используется в элементах: date

Значение: произвольная дата в формате YYYY-MM-DD

Атрибут xmlns

Ссылка на спецификацию формата.

Используется в элементах: FictionBook

Значение: жестко фиксированное (URL), обычно: http://www.gribuser.ru/xml/fictionbook/2.0

Атрибут xmlns:l

Ссылка на общую спецификацию формата.

Используется в элементах: FictionBook

Значение: жестко фиксированное (URL), обычно: http://www.w3.org/1999/xlink

§ 2.15 Алфавитный список всех элементов FictionBook 2.1

a (§ 2.11)

annotation (§ 2.5)

author (§ 2.5)

binary (§ 2.3)

body (§ 2.3)

book-name (§ 2.5)

book-title (§ 2.5)

cite (§ 2.8)

city (§ 2.5)

code (§ 2.11)

coverpage (§ 2.5)

custom-info (§ 2.4)

date (§ 2.5)

description (§ 2.3)

document-info (§ 2.4)

email (§ 2.6)

emphasis (§ 2.11)

empty-line (§ 2.8)

epigraph (§ 2.7)

FictionBook (§ 2.3)

first-name (§ 2.6)

genre (§ 2.5)

history (§ 2.5)

home-page (§ 2.6)

id (§ 2.5)

isbn (§ 2.5)

image (§ 2.7)

keywords (§ 2.5)

lang (§ 2.5)

last-name (§ 2.6)

middle-name (§ 2.6)

nickname (§ 2.6)

output-document-class (§ 2.12)

output (§ 2.12)

p (§ 2.8)

part (§ 2.12)

poem (§ 2.8)

program-used (§ 2.5)

publish-info (§ 2.4)

publisher (§ 2.5)

section (§ 2.7)

sequence (§ 2.5)

src-lang (§ 2.5)

src-ocr (§ 2.5)

src-title-info (§ 2.4)

src-url (§ 2.5)

stanza (§ 2.9)

strikethrough (§ 2.11)

strong (§ 2.11)

style (§ 2.11)

stylesheet (§ 2.3)

sub (§ 2.11)

subtitle (§ 2.8)

sup (§ 2.11)

table (§ 2.8)

td (§ 2.10)

text-author (§ 2.9)

th (§ 2.10)

title (§ 2.7)

title-info (§ 2.4)

tr (§ 2.10)

translator (§ 2.5)

v (§ 2.9)

version (§ 2.5)

year (§ 2.5)

Загрузка...