Выбрать главу
5.2. Блок от первого заголовка (уровня) до конца документа

Во 2-м блоке дело обстоит немного по – другому.

2-й блок начинается с самого первого Уровня – Части книги, Раздела книги или просто заголовка. Уровней заголовков может быть 10 (стиль Level 1… Level 10) (хотя программно можно очень легко их увеличить хоть до бесконечности – особенность алгоритма). В книге может быть такая структура:

Наши элементы (абзацы, стихи и т. д.) могут быть как между Уровнями разного ранга – 1-й случай, например:

так и между Уровнями одного ранга (номера) – 2-й случай, например:

5.2.1. Смежные Уровни разного ранга (номера)

Для 1-го случая с Уровнями разного ранга схема немного другая, чем для блока от начала книги до первого заголовка (уровня). Отличие состоит лишь в том, что между уровнями может вообще не быть никаких элементов (стихов, абзацев…). Т. е. схема расположения элементов структуры такая же, как и для 1-го блока:

5.2.2. Смежные Уровни одного ранга (номера)

Для 2-го случая между Уровнями одного ранга должен быть хоть один какой-нибудь элемент, кроме необязательных Эпиграф и (или) Картинка и (или) Аннотация! Схема расположения элементов структуры такая (в двойные скобки { [] } взяты элементы, которые могут и не быть, но хоть один из них обязательно должен присутствовать):

5.2.3. Ошибки при разметке структуры смежных заголовков (уровней)

С другой стороны, если ранги Уровней перепутаны при разбивке структуры, то полученный fb2 документ не будет валидным! Например, нужна такая структура книги:

А мы ошибочно перепутали стили Level 2 и Level 3, и получили такую структуру:

то полученный fb2 документ не будет валидным! Номер следующего (смежного) Уровня по возрастанию не может отличаться от предыдущего более, чем на 1. По убыванию – как угодно. Поэтому, при разметке структуры будьте очень внимательны!

Таким образом, если документ отформатирован стилями в соответствии с этими правилами, диктуемыми схемой fb2.1 будет сконвертирован без единой ошибки и пройдет валидацию.

Для проверки всего этого, а также других возможностей данного конвертера создан файл ExportToFB21_Test.odt. Сконвертируйте его в fb2 документ.

6. Конвертация документа в формат fb2.1

6.1. Описание диалога конвертации

В этом диалоге задаются данные о книге, издательстве, об авторе fb2 документа (т. е. о себе), история этого fb2 документа и аннотация на книгу, если нужно.

Некоторые поля отмеченные красным цветом. Это поля, где данные должны быть обязательно! Этого требует схема FictionBook. Остальные поля заполнять желательно, но не обязательно. В случае их заполнения ваша книга будет содержать много дополнительной ценной информации.

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

Список Жанр служит для выбора жанра конвертируемой книги. Их может быть несколько. Счетчик справа от него – match – служит для задания степени соответствия книги выбранному Жанру в %. Атрибут match тэга genre сделан по умолчанию необязательным, как и задано в схеме FictionBook. Т. е. в контроле match по умолчанию стоит 0. В этом случае этот атрибут не заносится в тэг genre. Если же значение счетчика match изменится, и станет больше 0, то это значение будет добавлено, как значение атрибута match тэга genre.

Два переключателя fb2.1 и fb2.2 служат для выбора схемы жанров: FictionBook 2.1 или FictionBook 2.2. В зависимости от выбора схемы жанров меняется и выпадающий список жанров. Это полезно, когда вы готовите книгу для Библиотеки, которая работает со схемой FictionBook 2.1.

Один момент требует особого разъяснения. Около некоторых полей для ввода данных есть кнопка «+» и счетчик числа добавленных элементов. Если в эти поля вы ввели данные, но не нажимали кнопку «+», то в сконвертированном fb2-файле эти данные будут в единственном экземпляре. На счетчике будет 0 (ничего страшного). Когда этих данных должно быть несколько (несколько авторов, несколько переводчиков, несколько Custom Info, книга входит в несколько серий, несколько человек делали конвертируемый документ), то вводите данные в соответствующие поля, нажмите на кнопку «+». Значение счетчика увеличится на 1, поля очистятся. Можно вводить новые значения, если это требуется.