52672.fb2
Книга FictionBook представляет собой XML-файл.
Структурно этот файл можно разделить на три части.
1) Desсription — заголовок (описание) книги;
2) Body — непосредственно текст книги. В книге может быть несколько body.
3) Binary — необязательная часть. Содержит бинарные файлы, в кодировке BASE64. [2.1] Как правило, это картинки.
Cпецификация (schema) FictionBook находится на сайте Дмитрия Грибова, а также входит в комплект FB Tools. Поэтому размещать ее в электронной версии книги смысла нет.
Но пример книги в формате FictionBook привести необходимо:
<?xml version="1.0" encoding="windows-1251"?>
<FictionBook xmlns="" xmlns:l="http://www.w3.org/1999/xlink">
<description>
<title-info>
<genre>reference</genre>
<author>
<first-name>Имя автора</first-name>
<last-name>Фамилия автора</last-name>
<nickname>Юзич</nickname>
</author>
<book-title>Пример книги в формате FictionBook 2.1</book-title>
<annotation>
<p>Это пример книги в формате FictiionBook</p>
</annotation>
<date value="2006-04-14">14 апреля 2006 г.</date>
<lang>ru</lang>
</title-info>
<document-info>
<author>
<nickname>Юзич</nickname>
</author>
<program-used>FB Tools</program-used>
<date value="2006-04-14">2006-04-14</date>
<id>1E693E16-8A80-4391-9800-C1A91A5E29A7</id>
<version>1.0</version>
<history>
<p>v 1.0 — создание книги (Юзич)</p>
</history>
</document-info>
</description>
<body>
<title>
<p>Юзич</p>
<p>ПРИМЕР КНИГИ В ФОРМАТЕ FictionBook 2.1</p>
</title>
<epigraph>
<p>Это эпиграф</p>
<text-author>Автор эпиграфа</text-author>
</epigraph>
<section>
<title>
<p>Первая секция</p>
</title>
<p>Секции обычно содержат текст.</p>
<empty-line/>
<p>Текст может разделяться пустыми строками.</p>
<subtitle>Подзаголовок</subtitle>
<p>Или подзаголовками.</p>
</section>
<section>
<title>
<p>Вторая секция</p>
</title>
<section>
<title>
<p>Первая вложенная секция</p>
</title>
<p>Текст может быть <strong>полужирным</strong> или <emphasis>курсивным</emphasis>.</p>
<p>Содержать <a l:href="#Sect3">линки</a> и <a l:href="#note01" type="note">[сноски]</a>.</p>
<p>В тексте могут быть картинки.</p>
<image l:href="#sampl.png"/>
<empty-line/>
</section>
<section>
<title>
<p>Вторая вложенная секция</p>
</title>
<cite>
<p>Это цитата.</p>
<text-author>Автор цитаты.</text-author>
</cite>
<p>Снова текст.</p>
</section>
</section>
<section id="Sect3">
<title>
<p>Третья секция</p>
</title>
<p>Стихи:</p>
<poem>
<title>
<p>Парус</p>
</title>
<stanza>
<v>А у дельфина взрезано брюхо винтом.</v>
<v>Выстрела в спину не ожидает никто.</v>
<v>На батарее нету снарядов уже.</v>
<v>Надо быстрее на вираже.</v>
</stanza>
<stanza>
<v>Но парус! Порвали парус!</v>
<v>Каюсь! Каюсь! Каюсь!</v>
</stanza>
<text-author>Владимир Высоцкий</text-author>
</poem>
<p>Снова обычный текст.</p>
</section>
</body>
<body name="notes">
<title>
<p>Примечания</p>
</title>
<section id="note01">
<title>
<p>1</p>
</title>
<p>Текст сноски.</p>
</section>
</body>
<binary id="sampl.png" content-type="image/png">iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0
RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY
SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=</binary>
</FictionBook>
В самом начале любого файла книги идет признак формата XML
<?xml version="1.0" encoding="windows-1251"?>
Здесь указана сигнатура принадлежности к формату XML, его версия и кодировка файла. Для русскоязычных FictionBook это обычно windows-1251 или utf-8. [2.2]
За ним в обязательном порядке следует:
Корневой элемент.
Cинтаксис: <FictionBook>content</FictionBook>.
Фактически, всегда используется в виде:
<FictionBook xmlns="" 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
Пример:
<stylesheet type="text/css">
.body{font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;}
.p{margin:0.5em 0 0 0.3em; padding:0.2em; text-align:justify;}
</stylesheet>
Заголовок (описание) книги.
Cинтаксис: <description>content</description>.
Используется в элементах: FictionBook
Вложенные элементы: title-info, src-title-info, document-info, publish-info, custom-info, output
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
<description>
<title-info>
<genre>nonfiction</genre>
<author>
<first-name>Имя автора</first-name>
<last-name>Фамилия автора</last-name>
</author>
<book-title>Название книги</book-title>
<date>2007 г.</date>
<lang>ru</lang>
</title-info>
<document-info>
<author>
<nickname>Юзич</nickname>
</author>
<program-used>FB Tools</program-used>
<date value="2006-07-10">2006-07-10</date>
<id>46C35002-014D-4AE4-8FE4-5E7881D72B0D</id>
<version>1.0</version>
</document-info>
</description>
Тело книги. Допускаются дополнительные body для примечаний и дополнительных материалов.
Cинтаксис: <body>content</body>.
Используется в элементах: FictionBook
Вложенные элементы: image, title, epigraph, section
Количество вхождений: одно и более
Атрибуты: name
Версия формата: 2.0
Пример:
<body>
<title>
<p>Заголовок</p>
</title>
<section>
<p>Текст.</p>
</section>
</body>
Содержит бинарные элементы, присоединяемые к файлу книги. Как правило, это картинки.
Cинтаксис: <binary>content</binary>.
Используется в элементах: FictionBook
Вложенные элементы: нет
Количество вхождений: произвольное
Атрибуты: id (обязательный), content-type (обязательный)
Версия формата: 2.0
Пример:
<binary id="sampl.png" content-type="image/png">
iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0
RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY
SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=
</binary>
Содержит базовую информацию о книге (заголовок, информация об авторе и переводчике, аннотация, вхождение в серию и т.д.)
Cинтаксис: <title-info>content</title-info>.
Используется в элементах: description
Вложенные элементы: genre, author, book-title, annotation, keywords, date, coverpage, lang, src-lang, translator, sequence
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
<title-info>
<genre>nonfiction</genre>
<author>
<first-name>Cергей</first-name>
<last-name>Лукьяненко</last-name>
</author>
<book-title>Спектр</book-title>
<date>2004 г.</date>
<lang>ru</lang>
</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
Пример:
<src-title-info>
<genre>adv_maritime</genre>
<author>
<first-name>Robert</first-name>
<middle-name>Loevis</middle-name>
<last-name>Stivenson</last-name>
</author>
<book-title>Treasure Island</book-title>
<date>1896</date>
<lang>en</lang>
</src-title-info>
Информация о самом файле FictionBook — кем, когда и с помощью каких программных средств создана данная электронная книга.
Cинтаксис: <document-info>content</document-info>.
Используется в элементах: description
Вложенные элементы: author, program-used, date, src-url, src-ocr, id, version, history
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
<document-info>
<author>
<nickname>Юзич</nickname>
<email>Duzz-scrbs@rambler.ru</email>
</author>
<program-used>FB Tools</program-used>
<date value="2006-06-29">2006-05-22</date>
<src-url>http://hungryewok.narod.ru/</src-url>
<src-ocr>OCR: Голодный Эвок Грызли; SpellCheck: Юзич</src-ocr>
<id>86F8C27D-9F15-4DE7-8751-12AE057CA4DC</id>
<version>1.0</version>
<history>
<p>v 1.0 — вычитка, конвертация в FB2 (Юзич)</p>
</history>
Информация о бумажном оригинале книги, если таковой существовал в природе.
Cинтаксис: <publish-info>content</publish-info>.
Используется в элементах: description
Вложенные элементы: book-name, publisher, city, year, isbn, sequence
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример:
<publish-info>
<book-name>С. Павлов «Лунная радуга»</book-name>
<publisher>Детская литература</publisher>
<city>Москва</city>
<year>1989</year>
<isbn>5-08-000842-3</isbn>
<sequence name="Библиотека приключений и научной фантастики"/>
</publish-info>
Произвольная дополнительная информация.
Cинтаксис: <custom-info>текст</custom-info>.
Используется в элементах: description
Вложенные элементы:
Количество вхождений: одно или отсутствует
Атрибуты: info-type (обязательный)
Версия формата: 2.0
Пример:
<custom-info info-type="На правах рекламы:">Сайт Голодного Эвока Грызли — лучшее в Рунете собрание книг по «Звёздным Войнам»!</custom-info>
Жанр произведения.
Содержимое элемента строго фиксировано и определяется файлом FictionBookGenres.xsd, входящим в состав спецификации FictionBook.
Список жанров с переводом приведен в Приложении В.
Cинтаксис: <genre>фиксированное значение</genre>.
Используется в элементах: title-info, src-title-info
Вложенные элементы: нет
Количество вхождений: одно или более
Атрибуты: match
Версия формата: 2.0
Пример:
<genre>sf_action</genre>
<genre match="30">sf_space</genre>
Автор произведения или создатель электронной книги.
Согласно спецификации, существуют два варианта правильного заполнения элемента. В первом случае, обязательно должны быть заполнены поля «Имя» и «Фамилия» (элементы 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
<author>
<first-name>Кондратович </first-name>
<middle-name>Михаил</middle-name>
<last-name>Иосифович</last-name>
<nickname>Юзич</nickname>
<home-page>http://www.yuzich.narod.ru</home-page>
<email>yuzich@yandex.ru</email>
</author>
Название книги.
Cинтаксис: <book-title>текст</book-title>.
Используется в элементах: title-info, src-title-info
Вложенные элементы:
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
Аннотация. Краткое текстовое описание книги
Cинтаксис: <annotation>content</annotation>.
Используется в элементах: title-info, src-title-info, section
Вложенные элементы: p, poem, cite, subtitle, table, empty-line
Количество вхождений: одно или отсутствует
Атрибуты: id
Версия формата: 2.0
Пример:
Список ключевых слов, с помощью которых библиотечный софт может искать книгу.
Слова должны быть характерными для конкретного произведения.
Cинтаксис: <keywords>текст</keywords>.
Используется в элементах: title-info, src-title-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример:
<keywords>Лунная радуга, Анарда, экзот, гурм, МУКБОП, Япет, Казаранг</keywords>
Дата написания книги или создания файла.
Список ключевых слов, с помощью которых библиотечный софт может искать книгу.
Элемент date предусмотрен также и в стихотворениях, но из-за отсутствия поддержки в редакторах там не используется.
Cинтаксис: <date>текст</date>.
Используется в элементах: title-info, src-title-info, document-info, poem
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: value
Версия формата: 2.0
Пример:
<date value="1989-01-01">Красноярск, июнь 1989</date>
Картинка обложки. Содержит внутри элемент image, в который непосредственно и находится ссылка на bin-объект. Элементов image может быть несколько.
Cинтаксис: <coverpage><image/></coverpage>
Используется в элементах: title-info, src-title-info
Вложенные элементы: image
Количество вхождений: одно или отсутствует.
Атрибуты: нет
Версия формата: 2.0
Пример:
<coverpage>
<image l:href="#cover.jpg"/></coverpage>
Язык, на котором написана книга.
Список возможных значений приведен в Приложении Г.
Cинтаксис: <lang>по возможности, фиксированное значение</lang>
Используется в элементах: title-info, src-title-info
Вложенные элементы: нет
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
<lang>ru</lang>
Язык, на котором написан оригинал (для переводных книг).
Список возможных значений приведен в Приложении Г.
Cинтаксис: <src-lang>по возможности, фиксированное значение</src-lang>
Используется в элементах: title-info, src-title-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример:
<src-lang>en</src-lang>
Информация о переводчике (для переводных книг).
Cинтаксис: <translator>content</translator>
Используется в элементах: title-info, src-title-info
Вложенные элементы: first-name, middle-name, last-name, nickname, home-page, email
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемент author
Серия, в которую входит книга. Допускается неограниченное число вложенных серий.
Cинтаксис: <sequence/> или <sequence><sequence/></sequence>
Используется в элементах: title-info, src-title-info
Вложенные элементы: sequence
Количество вхождений: произвольное
Атрибуты: name (обязательный), number
Версия формата: 2.0
Пример:
<sequence name="Звёздные Войны">
<sequence name="Адмирал Траун" number="2"/>
</sequence>
Программное обеспечение, использовавшееся при создании книги.
Cинтаксис: <program-used>текст</program-used>
Используется в элементах: document-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример:
<program-used>FB Tools, EmEditor, hands.drv & brain.sys</program-used>
Ссылка на сайт, если исходный текст книги был скачан из Интернета.
Cинтаксис: <src-url>текст</src-url>
Используется в элементах: document-info
Вложенные элементы: нет
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.0
Пример:
<src-url>http://www.natahaus.ru</src-url>
Информация о людях, которые сканировали (набирали) и вычитывали книгу.
Cинтаксис: <src-ocr>текст</src-ocr>
Используется в элементах: document-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример:
<src-ocr>OCR Zmiy; SpellCheck Юзич</src-ocr>
Уникальный идентификационный номер книги.
Cинтаксис: <id>текст</id>
Используется в элементах: document-info
Вложенные элементы: нет
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
<id>B3627A48-7F9C-400E-8CD7-0159B75F1A14</id>
Номер версии файла.
Cинтаксис: <version>число</version>
Используется в элементах: document-info
Вложенные элементы: нет
Количество вхождений: одно
Атрибуты: нет
Версия формата: 2.0
Пример:
<version>1.0</version>
История изменений, вносившихся в файл.
Cинтаксис: <history>Content</history>
Используется в элементах: document-info
Вложенные элементы: p, poem, cite, subtitle, table, empty-line
Количество вхождений: одно или отсутствует
Атрибуты: id
Версия формата: 2.0
Пример:
<history>
<p>v 1.0 — вычитка, конвертация в FB2 (Юзич)</p>
<p>v 1.1 — дополнительное форматирование (Faiber)</p>
<p>v 1.2 — дополнительная вычитка (Юзич)</p>
<p>v 1.3 — дополнительная вычитка (Юзич)</p>
<p>v 1.4 — окончательная (надеюсь!) вычитка (Юзич)</p>
</history>
Название бумажного оригинала.
Cинтаксис: <book-name>текст</book-name>
Используется в элементах: publish-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента publish-info
Название издательства, выпустившего бумажный оригинал.
Используется в элементах: publish-info
Cинтаксис: <publisher>текст</publisher>
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента publish-info
Город, в котором был издан бумажный оригинал.
Cинтаксис:<city>текст</city>
Используется в элементах: publish-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента publish-info
Год выхода бумажного оригинала
Cинтаксис: <year>текст</year>
Используется в элементах: publish-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента publish-info
ISBN-код бумажного оригинала.
Cинтаксис: <isbn>текст</isbn>
Используется в элементах: publish-info
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента publish-info
Имя автора книги или документа, а также переводчика.
Cинтаксис: <first-name>текст</first-name>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Отчество автора книги или документа, а также переводчика.
Cинтаксис: <middle-name>текст</middle-name>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Фамилия автора книги или документа, а также переводчика.
Cинтаксис: <last-name>текст</last-name>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Ник (сетевой псевдоним) автора книги или документа, а также переводчика.
Cинтаксис: <nickname>текст</nickname>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Адрес персонального сайта автора книги или документа, а также переводчика.
Cинтаксис: <home-page>текст</home-page>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Адрес электронной почты автора книги или документа, а также переводчика.
Cинтаксис: <email>текст</email>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Картинка.
Cинтаксис: <image/>
Используется в элементах: body, section, p
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: alt, title, id, href (обязательный).
Версия формата: 2.0
Пример:
Заголовок книги, раздела или стихотворения. С версии 2.1 — еще и картинки.
Cинтаксис: <title>content</title>
Используется в элементах: body, section, stanza, poem, image (2.1)
Вложенные элементы: p, empty-line
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример:
Эпиграф.
Cинтаксис: <epigraph>content</epigraph>
Используется в элементах: body, section
Вложенные элементы: p, poem, cite, empty-line, text-author
Количество вхождений: произвольное
Атрибуты: id
Версия формата: 2.0
Пример:
<epigraph>
<p>Черт побери! Как и все другие, наказанные нами, вы управляетесь законом, который богачи придумали для собственной безопасности. Эти трусливые собачьи души не имеют смелости каким-либо иным способом защитить то, что они мошеннически нахапали. Проклятья и кровь на имуществе этих продувных бестий. Между нами единственное различие: они обирают бедняков под покровительством закона, не так ли? А мы грабим богатых, рассчитывая только на свою храбрость.</p>
<text-author>Чарльз Беллами, пират</text-author>
</epigraph>
Раздел.
Cинтаксис: <section>content</section>
Используется в элементах: body, section
Вложенные элементы: title, epigraph, image, annotation, section, p, poem, subtitle, cite, empty-line, table
Количество вхождений: одно и более
Атрибуты: id
Версия формата: 2.0
Пример:
<section>
<title>
<p>Заголовок секции</p>
</title>
<p>Текст.</p>
</section>
Цитата. Отрывок текста из другого произведения.
В FictionBook с поспощью тэга cite также выделяются письма, записки, надписи, списки и еще много чего.
Cинтаксис: <cite>content</cite>
Используется в элементах: section, epigraph, annotation, history
Вложенные элементы: p, poem, empty-line, subtitle, table, text-author
Количество вхождений: произвольное
Атрибуты: id
Версия формата: 2.0
Пример:
<cite>
<p>«Что происходит в Зеленом Доме? По не подтвержденным, но и не опровергнутым сведениям несколько дней назад внушительная группа боевых ведьм совершила стремительный вояж за пределы Тайного Города. Куда именно? Как ни странно, это осталось загадкой: наши белокурые красавицы изменили традиционной словоохотливости и держат рот на замке. Остальные Великие Дома не проявляют беспокойства…»</p>
<text-author>(«Тиградком»)</text-author>
</cite>
Стихи, песни, баллады и т.д.
Cинтаксис: <poem>content</poem>
Используется в элементах: section, epigraph, cite, annotation, history
Вложенные элементы: title, epigraph, stanza, text-author, date
Количество вхождений: произвольное
Атрибуты: id
Версия формата: 2.0
Пример:
<stanza>
<title>
<p>В тяжелой мантии торжественных обрядов…</p>
</title>
<v>В тяжелой мантии торжественных обрядов,</v>
<v>Неумолимая, меня не встреть.</v>
<v>На площади, под тысячами взглядов,</v>
<v>Хочу я умереть.</v>
</stanza>
<stanza>
<v>Чтобы лился на волосы и в губы</v>
<v>Полуденный огонь.</v>
<v>Чтоб были флаги, чтоб гремели трубы</v>
<v>И гарцевал мой конь…</v>
</stanza>
<text-author>Марина Цветаева,</text-author>
<date>Феодосия, 1913</date>
</poem>
Обычный абзац текста.
Cинтаксис: <p>content</p>
Используется в элементах: annotation, history, section, epigraph, cite
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.0
Пример:
<p>Cамый обычный текст. </p>
Подзаголовок.
Cинтаксис: <subtitle>content</subtitle>
Используется в элементах: section, stanza, annotation, history
Вложенные элементы: strong, emphasis, style, a, strikethrough, sub, sup, code, image
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.0
Пример:
<subtitle>* * *</subtitle>
Пустая строка. Может использоваться как «немой» заголовок.
Cинтаксис: <empty-line/>
Используется в элементах: section, epigraph, cite, title, annotation, history
Вложенные элементы: нет
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.0
Пример:
<p>После этого абзаца должна идти пустая строка.</p>
<empty-line/>
Таблицы.
На момент написания книги поддерживается только читалками CoolReader и AlReader.
Cинтаксис: <table>content</table>
Используется в элементах: section, epigraph, annotation, history
Вложенные элементы: tr
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.1
Пример:
<table>
<tr>
<th>Заголовок 1-го столбца</th>
<th>Заголовок 2-го столбца</th>
<th colspan="2">Объединенный заголовок 3-го и 4-го столбцов</th>
<th>Заголовок 5-го столбца</th>
</tr>
<tr>
<td align="center">1-я ячейка 1-го столбца</td>
<td rowspan="2">1-я и 2-я ячейки 2-го столбца</td>
<td align="right">1-я ячейка 3-го столбца</td>
<td align="right">1-я ячейка 4-го столбца</td>
<td align="left">1-я ячейка 5-го столбца</td>
</tr>
<tr>
<td align="center">2-я ячейка 1-го столбца</td>
<td colspan="2"><p>2-я ячейка 3-го и 4-го столбцов</p></td>
<td align="right">2-я ячейка 5-го столбца</td>
</tr>
</table>
Как видим, допускается размещение текста как непосредственно в самих элементах ячеек таблицы (td, th), так и предварительно заключеннного в элемент p.
Впрочем, это, вероятнее всего, огрех валидатора FBE. Ради эксперимента, я поместил в элемент td элемент cite. И валидатор это спокойно переварил.
Строфа стихотворения.
Cинтаксис: stanza>content</stanza>
Используется в элементах: poem
Вложенные элементы: title, subtitle, v
Количество вхождений: одно и более
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента poem
Автор эпиграфа, цитаты или стихов.
Cинтаксис: <text-author>content</text-author>
Используется в элементах: cite, epigraph, poem
Вложенные элементы: strong, emphasis, style, a, strikethrough, sub, sup, code, image
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.0
Пример: см. пример элемента poem
Cтрока в строфе стихотворения.
Cинтаксис: <v>content</v>
Используется в элементах: stanza
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: одно и более
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента poem
Строка таблицы.
Cинтаксис: <tr>content</tr>
Используется в элементах: table
Вложенные элементы: th, td
Количество вхождений: одно и более
Атрибуты: aligh
Версия формата: 2.1
Пример: см. пример элемента table
Заголовок столбца таблицы.
Cинтаксис: <th>content</th>
Используется в элементах: tr
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: одно или отсутствует
Атрибуты: id, style, colspan, rowspan, aligh
Версия формата: 2.1
Пример: см. пример элемента table
Ячейка столбца таблицы.
Cинтаксис: <td>content</td>
Используется в элементах: tr
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: одно и более
Атрибуты: id, style, colspan, rowspan, aligh
Версия формата: 2.1
Пример: см. пример элемента table
Ссылка или сноска.
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
Пример:
<p>см. <a l:href="#primer">пример</a></p>
Преформатированный текст. В читалках должен отображаться моноширинным шрифтом.
Может использоваться, чтобы выделить исходники программ и примеры.
На момент написания книги поддерживается только читалкой 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
Пример:
<code>Преформатированный текст</code>
Наклонный шрифт (курсив).
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
Пример:
<emphasis>Курсивный текст</emphasis>
Перечеркнутый шрифт.
На момент написания книги читалками не поддерживается.
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
Пример:
<p><strikethrough>Эта сволочь</strikethrough>, этот нехороший человек…</p>
Полужирный шрифт.
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
Пример:
<strong>Полужирный текст</strong>
Заранее определенный стиль для отображения книги.
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
Пример:
<p>Этот текст будет <style name="italic">курсивным </style></p>
<p>— <style name="foreign lang" xml:lang="fr">Dieu, quelle virulente sortie</style></p>
Нижний индекс (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
Пример:
<p>x<sub>1</sub>+x<sub>2</sub>=y</p>
Верхний индекс (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
Пример:
<p>E=mC<sup>2</sup></p>
В версию 2.1 были введены специальные элементы для создания платных книг. Поскольку сам формат средств криптозащиты не предусматривает, обрабатывать эти тэги должен исключительно сервер библиотеки.
К сожалению, или, вернее, к счастью, эти элементы до сих пор не нашли применения.
Определяет способ вывода контента книги.
Cинтаксис: <output>content</output>
Используется в элементах: description
Вложенные элементы: part, output-document-class
Количество вхождений: произвольное
Атрибуты: mode (обязательный), currency, incude-all (обязательный)
Версия формата: 2.1
Пример:
<output mode="free" include-all="deny">
<part include="require" l:href="#half0_1"/>
<part include="allow" l:href="#half0_2"/>
<part include="allow" l:href="#half0_4_2"/>
<part include="require" l:href="#half0_4_3"/>
</output>
<output mode="paid" price="3.14" currency="WMZ" include-all="require">
<part include="deny" l:href="#half0_4_3"/>
</output>
Назначение неясно.
Cинтаксис:<output-document-class>parts</output-document-class>
Используется в элементах: output
Вложенные элементы: part
Количество вхождений: произвольное
Атрибуты: name, create, price
Версия формата: 2.1
Пример:
Делит книгу на платные и бесплатные части.
Cинтаксис:<part/>
Используется в элементах: output
Вложенные элементы: нет
Количество вхождений: произвольное
Атрибуты: mode, include
Версия формата: 2.1
Пример: см. пример элемента output
Некоторые символы в теле книги отображаются особым образом. Это нужно для предотвращения ошибок. Например, «<» и «>» зарезервированы для обозначения границ тэгов. Если их использовать в прямом виде как-то еще, то программа будет считать это ошибкой.
Такие последовательности называются предопределенными сущностями.
Список таких символов в FictionBook крайне мал. Их, собственно, всего три.
& — &;
< — <;
> ; — >;
Cтандартные сущности XML ' и " в FiсtionBook не используются и конвертируются в символы «'» и «"» соответственно.
Многие элементы в FictionBook имеют дополнительные параметры — атрибуты.
Выравнивание текста в ячейке таблицы.
Используется в элементах: td, th, tr
Значение: фиксированное; left, right, center, justify
Значение по умолчанию: left
Назначение аналогично HTML — текст, отображающийся вместо картинки.
Используется в элементах: image
Значение: произвольная текстовая строка
Позволяет объединять столбцы таблиц.
Используется в элементах: th, td
Значение: произвольное целое число
Определяет тип содержимого элемента-контейнера binary
Используется в элементах: binary
Значение: фиксированное; image/png, image/jpeg, image/tiff, image/bmp, octet-stream
Назначение неясно.
Используется в элементах: output-document-class
Значение:
Валюта, в которой определена цена платной книги.
Используется в элементах: output
Значение: ограниченно-произвольное
Ссылка. Как правило, внутри документа.
Используется в элементах: a, image
Значение: ссылка.
Метка, позволяющая ссылаться на элемент.
Используется в элементах: annotation, binary, cite, epigraph, image, p, poem, section, subtitle, table, td, text-author, th
Значение: текстовая строка.
Характеризует произвольную информацию.
Используется в элементах: custom-info
Значение: произвольная текстовая строка.
Назначение неясно.
Используется в элементах: part
Значение:
Назначение неясно.
Используется в элементах: output
Значение: фиксированное
Определяет степень соответствия произведения выбранному жанру.
Используется в элементах: genre
Значение: целое число в диапазоне от 1 до 100
Способ вывода платного документа
Используется в элементах: output
Значение:
Позволяет присвоить элементу имя. В отличие от метки (id), имя элемента используется исключительно программными средствами обработки документа.
Используется в элементах: body, sequence, output-document-class
Значение: произвольное
Порядковый номер книги в серии.
Используется в элементах: sequence
Значение: произвольное целое число
Цена платного документа
Используется в элементах: output-document-class
Значение: произвольное число c плавающей запятой
Позволяет объединять строки таблицы.
Используется в элементах: th, td
Значение: произвольное целое число
Позволяет выбрать для элемента предопределенный стиль.
Используется в элементах: p, subtitle, table, td, text-author, th
Значение: произвольное; строка состоящая из латинских букв и цифр.
Пример:
<p style="text-align: right">Текст, выровненный по правому краю<p>
<p style="background-color: black; color: white; margin-left: 20%; margin-right: 20%; margin-top: 10px; margin-bottom: 10px; line-height: 180% ">Текст: фон черный, цвет шрифта белый, отступы справа и слева 20 процентов, сверху и снизу — 10 пикселей, высота строки 180 процентов</p>
Позволяет добавить к рисунку заголовок (подпись)
Используется в элементах: image
Значение: произвольная текстовая строка
Определяет тип элемента.
Используется в элементах: a, stylesheet
Значение: фиксированное
Дата.
Используется в элементах: date
Значение: произвольная дата в формате YYYY-MM-DD
Ссылка на спецификацию формата.
Атрибут value: FictionBook
Значение: жестко фиксированное
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)
Подробное описание BASE64 cм. приложение E.
UTF-8 — это ASCII-совместимая многобайтная кодировка Unicode.В отличие от стандартного Unicode, в utf-8 cимволы с кодами от 0x00000000 до 0x0000007f (стандартный набор US-ASCII) кодируются как байты с кодами от 0x00 до 0x7f (совместимость с кодовой таблицей ASCII). Это означает, что файлы и строки, содержащие только 7-битные ASCII-символы, будут иметь одинаковое представление как в ASCII, так и в UTF-8.