• § 2.1 Структура файла FictionBook. Базовые понятия
  • § 2.2 Пример книги в формате FictionBook
  • § 2.3 Элементы описания книги. Базовые структурные элементы
  • § 2.4 Элементы описания книги (description). Элементы первого уровня
  • § 2.5 Элементы описания книги (description). Элементы второго уровня
  • § 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе)
  • § 2.7 Элементы тела книги (body).
  • § 2.8 Элементы раздела книги (section). Элементы первого уровня.
  • § 2.9 Элементы раздела книги (section). Элементы второго уровня.
  • § 2.10 Элементы таблиц
  • § 2.11 Элементы абзаца (стилевые, они же inline элементы)
  • § 2.12 Элементы для платных книг
  • § 2.13 Спецсимволы
  • § 2.14 Список атрибутов элементов
  • § 2.15 Алфавитный список всех элементов FictionBook 2.1
  • Часть 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 привести необходимо:

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

    <FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" 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>

    § 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

    Пример:

     <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>

    Элемент description

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

    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

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

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

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

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

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

    Атрибуты: name

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

    Пример:

    <body>

      <title>

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

      </title>

      <section>

       <p>Текст.</p>

      </section>

     </body>

    Элемент binary

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

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

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

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

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

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

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

    Пример:

    <binary id="sampl.png" content-type="image/png">

    iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0

    RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY

    SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=

    </binary>

    § 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

    Пример:

      <title-info>

       <genre>sf</genre>

       <author>

        <first-name>Ник</first-name>

        <last-name>Перумов</last-name>

       </author>

       <book-title>Череп на рукаве</book-title>

       <annotation>

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

       </annotation>

       <date>2002</date>

       <coverpage>

        <image l:href="#cover.jpg"/></coverpage>

       <lang>ru</lang>

       <sequence name="Империя превыше всего" number="01"/>

      </title-info>

    Элемент 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

    Пример:

    <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>

    Элемент document-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>

    Элемент publish-info

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

    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>

    Элемент custom-info

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

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

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

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

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

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

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

    Пример:

      <custom-info info-type="На правах рекламы:">Сайт Голодного Эвока Грызли — лучшее в Рунете собрание книг по «Звёздным Войнам»!</custom-info>

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

    Элемент genre

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

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

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

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

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

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

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

    Атрибуты: match

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

    Пример:

    <genre>sf_action</genre>

       <genre match="30">sf_space</genre>

    Элемент 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

    <author>

        <first-name>Михаил</first-name>

        <middle-name>Иосифович</middle-name>

        <last-name>Кондратович</last-name>

        <nickname>Юзич</nickname>

        <home-page>http://www.yuzzich.narod.ru</home-page>

        <email>yuzzich@yandex.ru</email>

       </author>

    Элемент 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

    Пример:

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

    Элемент date

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

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

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

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

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

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

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

    Атрибуты: value

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

    Пример:

    <date value="1989-01-01">Красноярск, июнь 1989</date>

    Элемент coverpage

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

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

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

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

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

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

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

    Пример:

       <coverpage>

        <image l:href="#cover.jpg"/></coverpage>

    Элемент lang

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

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

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

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

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

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

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

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

    Пример:

       <lang>ru</lang>

    Элемент src-lang

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

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

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

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

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

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

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

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

    Пример:

    <src-lang>en</src-lang>

    Элемент 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

    Пример:

    <sequence name="Звёздные Войны">

        <sequence name="Адмирал Траун" number="2"/>

       </sequence>

    Элемент program-used

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

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

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

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

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

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

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

    Пример:

       <program-used>FB Tools, EmEditor, hands.drv & brain.sys</program-used>

    Элемент src-url

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

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

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

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

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

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

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

    Пример:

    <src-url>http://www.natahaus.ru</src-url>

    Элемент src-ocr

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

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

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

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

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

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

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

    Пример:

    <src-ocr>OCR Zmiy; SpellCheck Юзич</src-ocr>

    Элемент id

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

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

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

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

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

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

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

    Пример:

    <id>B3627A48-7F9C-400E-8CD7-0159B75F1A14</id>

    Элемент version

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

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

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

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

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

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

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

    Пример:

    <version>1.0</version>

    Элемент history

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

    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>

    Элемент 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

    Пример:

    <image l:href="#n_pride.png"/>

    Элемент title

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

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

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

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

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

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

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

    Пример:

       <title>

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

        <p>ЧЕРЕП НА РУКАВЕ</p>

       </title>

    Элемент epigraph

    Эпиграф.

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

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

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

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

    Атрибуты: id

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

    Пример:

    <epigraph>

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

       <text-author>Чарльз Беллами, пират</text-author>

    </epigraph>

    Элемент section

    Раздел.

    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>

    § 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

    Пример:

    <cite>

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

        <text-author>(«Тиградком»)</text-author>

       </cite>

    Элемент poem

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

    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>

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

    Элемент p

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

    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>

    Элемент subtitle

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

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

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

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

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

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

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

    Пример:

    <subtitle>* * *</subtitle>

    Элемент empty-line

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

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

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

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

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

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

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

    Пример:

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

    <empty-line/>

    Элемент table

    Таблицы.

    На момент написания книги поддерживается только читалками 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. И валидатор это спокойно переварил.

    § 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

    Пример:

    <p>см. <a l:href="#primer">пример</a></p>

    <a l:href="#note01" type="note">[1]</a>

    Элемент 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

    Пример:

    <code>Преформатированный текст</code>

    Элемент 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

    Пример:

    <emphasis>Курсивный текст</emphasis>

    Элемент 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

    Пример:

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

    Элемент 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

    Пример:

    <strong>Полужирный текст</strong>

    Элемент 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

    Пример:

    <p>Этот текст будет <style name="italic">курсивным </style></p>

    <p>— <style name="foreign lang" xml:lang="fr">Dieu, quelle virulente sortie</style></p>

    Элемент 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

    Пример:

    <p>x<sub>1</sub>+x<sub>2</sub>=y</p>

    Элемент 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

    Пример:

    <p>E=mC<sup>2</sup></p>

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

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

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

    Элемент output

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

    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>

    Элемент 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 крайне мал. Их, собственно, всего три.

    &amp; — &;

    &lt; — <;

    &gt ; — >;

    Cтандартные сущности XML &apos; и &quot; в 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

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

    Пример:

    <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>

    Атрибут 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)


    Примечания:



    2.1

    Подробное описание BASE64 cм. приложение E.



    2.2

    UTF-8 — это ASCII-совместимая многобайтная кодировка Unicode.

    В отличие от стандартного Unicode, в utf-8 cимволы  с  кодами  от  0x00000000   до 0x0000007f (стандартный набор US-ASCII) кодируются как байты с кодами от 0x00 до 0x7f (совместимость с кодовой таблицей ASCII).  Это  означает, что файлы и строки, содержащие только 7-битные ASCII-символы, будут  иметь одинаковое представление как в ASCII, так и в UTF-8.







     

    Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Наверх