Книжный мир
Текстовые форматы

Morik (off) VIP [1755]
11 января 2009, 11:44

Немного о fb3
FictionBook 3.0 beta - краткое описание
Цель создания формата
Формат fb3 разрабатывается для удовлетворения возросших требований к форматированию текста книг и возможностям их каталогизации. Современное состояние стандартов и технологий позволяет, помимо простого расширения набора тегов, привести формат к совместимости с наиболее удачными и перспективными наработками. В частности, в основу fb3 положен стандарт Open Packaging Convention ( ECMA- 376 Part 2 ) . Помимо этого в качестве картинок можно использовать SVG-файлы (и GIF-файлы, патент на которые закончился).

Преемственность с форматом fb2
Приоритеты , на которых основан формат fb2, остаются, но частично расширяются:
Принцип одна книга - один файл сохраняется. Более того, fb3 полноценно поддерживает "подшивки" - несколько книг в одном fb3- файле.
Минимализм форматирования сохраняется, но для работы со сложными документами (например, с учебниками) в fb3 вводится минимально- необходимый набор тегов, обеспечивающий максимальное качество верстки при максимально возможной простоте.
Вся мета-информация является неотъемлемой частью файла. В соответствии с возросшими требованиями к полноте и точности мета-информации была разработана новая, прямо не совместимая с дескрипшном fb2, структура.
Формат, как и прежде, максимально ориентирован на полноценную и эффективную переносимость текста на любое устройство, с ограниченными ресурсами, черно-белым или небольшим дисплеем и т.п. Единожды сверстанная книга должна быть максимально удобной в любой среде.
Основные отличия от fb2 находятся не в области идеологии, а в области технологических решений. Коротко о наиболее важных отличиях отметим:
fb3-файл теперь является по сути zip-архивом, в котором упакованы отдельными файлами мета-информация, картинки и текст. Требования к формату zip-файла и соглашения об именах файлов, их размещении и организации описаны в стандарте ECMA-376 Part 2
Мета-информация выносится в отдельный файл, тело книги и сноски - в другой файл
Все картинки выносятся из XML и являются, в конечном счете, файлами в архиве
Связи документа с файлами осуществляются не через xlink, а в соответствии с описанным в OPF механизмом отношений (Relationships)
Помимо ряда мелких нововведений в форматирование (разрядка, подчеркивание) добавляется принципиально новый объект "блок", выпадающий из общего течения документа и оформляющий произвольный фрагмент книги в виде четырехугольника, который может иметь границу, внедряться в текст с обтеканием и иметь некоторые другие особенности размещения.
Часть тегов, имеющих смысловые аналоги в HTML, будет переименована, к примеру emphasis превратится в em.

Общая информация о структуре fb3-файла
В соответствии со спецификацией ECMA-376 Part 2 файл fb3 будет представлять собой стандартный zip-архив, допустимые методы сжатия - store (без компрессии) и deflate (совместимый с zlib). Имена файлов в архиве сравниваются без учета регистра, изначально зарезервированы имена файлов:
/[Content_Types].xml
/_rels/.rels
Файл /_rels/.rels адресует файл-обложку (thumbnail) для всего fb3 -пакета и как минимум один файл дескрипшна книги. Дескрипшн книги, в свою очередь, связан с телом книги и своей собственной обложкой, а тело книги связано со всеми включенными в него объектами. Все связи описываются стандартными средствами OPC (ECMA-376 Part 2 , раздел 8.3 Relationships).
В качестве графических форматов будет поддерживаться gif/png/jpg/svg (SVG 1.1 Basic)
Более детальное описание требований к zip-архиву, механизмов связывания, кодировок и ограничений на именование файлов в архиве можно найти в стандарте ECMA-376 Part 2 .

Файл мета-информации
Подробно изучить структуру и возможности fb3 в описании книги можно на примере файла /fb3/description.xml изархива с примером fb3-книги . Большинство полей там снабжены русскоязычными комментариями. Из существенных нововведений по отношению к fb2 отметим:
Блок описания периодических изданий (журнал такой-то, номер такой-то)
sub-title - подзаголовок, позволяет описывать более сложноорганизованные названия
Унифицированный механизм описания авторов, переводчиков, иллюстраторов и прочих, имеющих отношение к книге, субъектов.
Возможность описывать связанные объекты: книги, с которых сделан перевод, приложения, продолжения, та же книга на другом носителе (аудиокнига) и т.п.
Добавлена информация о целевой аудитории и об описываемом периоде
Большая часть новых полей логически совместима со стандартами RUSMARC и USMARC

Файл с текстом книги
Пример можно найти в примере fb3 -документа, в файле /fb3 /body.xml, где большинство новинок проиллюстрированы примерами применения и комментариями. Основные нововведения по отношению к fb2:
Нумерованные и ненумерованные списки
Блоки, выпадающие из общего потока, с атрибутами float, align, width, border. К примеру <block float="left" width="40em" align="right"><p>тутатекст</ p></block>.
Убирается inline-элемент code, добавляется block- элемент code, родительский по отношению к p.
Сноски более гибко типизируемые. Допускается "подсказывать" читалке, как следует отображать сноски, следует ли переоформлять номера сносок средствами читалки и какие сноски концевые и подстраничные.
Сноски выделяются в отдельный узел notes, и оформляются не как секции, а новым тегом <note>

Пример содержимого fb3- архива:
Book.fb3 -> fb3-файл, де- факто ZIP-архив
[Content_Types].xml -> Обязательный файл в архиве, содержит описание MIME-типов для всех размещенных в архиве файлов
cover.jpg -> Обложка всей книги, для быстрого доступа программ-читалок
_rels/.rels -> Обязательный xml-файл в архиве. В нем ссылки на обложку, файл(ы) мета-информации и прочее.
fb3/description.xml -> Файл с мета-информацией
fb3/_rels/description.xml.rels
-> Файл со связями данной карточки книги - указывается обложка и файл с текстом книги
fb3/body.xml -> Файл с текстом книги, сносками
fb3/_rels/body.xml.rels
-> Файл со связями текста книги - описываются все использованные картинки
fb3/marks.xml -> Заметки/закладки на полях (которые поставила программа-читалка?)
-------

Назад в тему

Книжный мир
Список форумов
На главную

0.055 сек
SQL: 3