Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4) | страница 11
‹/contact›
‹/AddressBook›
Как видим, сам документ имеет древовидную структуру и состоит из вложенннных элементов.
Первая строка является признаком XML и содержится во всех документах.
Элемент – это данные, ограниченные парой тэгов. ‹tag› и ‹/tag›.
Кроме данных, элементы могут содержать в себе атрибуты – например, у элемента phone есть атрибут type, который может принимать фиксированные значения «home» и «mobile».
Вместо пары тэгов для обозначения границ элемента может использоваться один тэг вида ‹tag/›, но тогда у такого элемента не может быть данных и вложенных элементов.
Стандарт XML предписывает, чтобы у «дерева» элементов был корневой элемент, который будет содержать внутри себя все остальные. Корневой элемент должен быть единственным, то есть XML-документ, где два и больше корневых элементов, – это документ, сформированный неправильно.
Как видим, все просто и понятно. Документ легко читается и редактируется, а при желании можно написать XSL, трансформирующий его в HTML или RTF.
Давая свободу, XML одновременно предъявляет к документу гораздо более жесткие требования, чем HTML. Одно из ключевых понятий XML – «валидный» документ. Все элементы документа должны быть правильно закрыты, а вложенность их соответстовать спецификации. Конструкции типа ‹i›‹b›Text‹/i›‹/b›, которые легко «проглатывает» HTML, в XML считаются фатальной ошибкой.
§ 1.4 Формат FictionBook – стандарт де-факто для электронных книг
Итак, формат FictionBook…
Сам формат был разработан Дмитрием Грибовым с несколькими соавторами, при поддержке группы энтузиастов.
Он полностью базируется на XML.
На данный момент это самый прогрессивный и перспективный формат для электронных книг. Единственный его недостаток, как признают сами авторы, бОльшие временные затраты при подготовке начального текста. Впрочем, он легко окупается удобством чтения.
В отличие от всех не-XML форматов, которые ориентированы на хранение или оформлениетекстовых данных, в FictionBook упор сделан на структурированиедокумента. То есть с помощью тэгов выделяются области текста: это – глава, это – заголовок, это – эпиграф, а вот это – цитата. А как все «это» будет выглядеть на экране, зависит от программы-ридера. Впрочем, на случай, если потребуется оформить книгу строго определенным образом, предусмотрена возможность присоединения таблицы стилей.
Используя формат FictionBook можно создать четко структурированную книгу (именно книгу, а не просто электронный документ), которую удобно читать в специализированной программе-читалке, а в случае надобности можно легко сконвертировать в любой популярный формат. Как правило, без потери разметки.