FictionBook 3.0 beta - краткое описание
Материал из FictionBook.
Версия 12:35, 1 октября 2008 GribUser (Обсуждение | вклад) Назначение формата fb3, приоритеты и отличия от fb2 ← К предыдущему изменению |
Версия 14:19, 1 октября 2008 GribUser (Обсуждение | вклад) Назначение формата fb3, приоритеты и отличия от fb2 К след. изменению → |
||
Строка 5: | Строка 5: | ||
''Версия 0.1 от 1 октября 2008 г.'' | ''Версия 0.1 от 1 октября 2008 г.'' | ||
- | == Назначение формата fb3, приоритеты и отличия от fb2 == | + | == Приоритеты и отличия от fb2 == |
- | Формат fb3 разрабатывается для удовлетворения возросших требований к форматированию текста книг и возможностям их каталогизации. Современное состояние стандартов и технологий позволяет, помимо простого расширения набора тегов, привести формат к совместимости с наиболее удачными и перспективными наработками. В частности в основу fb3 положен стандарт Open Packaging Convention ([http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2]), помимо этого в качестве картинок можно использовать SVG-файлы. | + | Формат fb3 разрабатывается для удовлетворения возросших требований к форматированию текста книг и возможностям их каталогизации. Современное состояние стандартов и технологий позволяет, помимо простого расширения набора тегов, привести формат к совместимости с наиболее удачными и перспективными наработками. В частности, в основу fb3 положен стандарт Open Packaging Convention ([http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2]). Помимо этого в качестве картинок можно использовать SVG-файлы (и GIF-файлы, патент на которые закончился). |
Приоритеты, на которых основан формат fb2, остаются, но частично расширяются: | Приоритеты, на которых основан формат fb2, остаются, но частично расширяются: | ||
- | * Принцип одна книга - один файл сохраняется. Более того, fb3 поддерживает "подшивки" - несколько самостоятельных книг в одном fb3-файле. | + | * Принцип одна книга - один файл сохраняется. Более того, fb3 поддерживает "подшивки" - несколько книг в одном fb3-файле. |
* Минимализм форматирования сохраняется, но для работы с более сложными документами (например, с учебниками) в fb3 вводится минимально-необходимый набор тегов, обеспечивающий максимальное качество верстки при максимально возможной простоте. | * Минимализм форматирования сохраняется, но для работы с более сложными документами (например, с учебниками) в fb3 вводится минимально-необходимый набор тегов, обеспечивающий максимальное качество верстки при максимально возможной простоте. | ||
* Вся мета-информация является неотъемлемой частью файла. В соответствии с возросшими требованиями к полноте и точности мета-информации была разработана новая, прямо не совместимая с дескрипшном fb2, структура. | * Вся мета-информация является неотъемлемой частью файла. В соответствии с возросшими требованиями к полноте и точности мета-информации была разработана новая, прямо не совместимая с дескрипшном fb2, структура. | ||
- | * Формат, как и прежде, максимально ориентирован на полноценную и эффективную переносимость текста на любое устройство, с ограниченными ресурсами, черно-белым или небольшим дисплеем и т.п. | + | * Формат, как и прежде, максимально ориентирован на полноценную и эффективную переносимость текста на любое устройство, с ограниченными ресурсами, черно-белым или небольшим дисплеем и т.п. Единожды сверстанная книга должна быть максимально удобной в любой среде. |
+ | |||
+ | Основные отличия от fb2 находятся не в области идеологии, а в плоскости технологических решений. Коротко о наиболее важных отличиях отметим: | ||
+ | * fb3-файл теперь является по сути zip-архивом, в котором упакованы отдельными файлами мета-информация, картинки и текст. Требования к формату zip-файла и соглашения об именах файлов, их размещении и организации описаны в стандарте [http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2] | ||
+ | * Мета-информация выносится в отдельный файл, тело книги и сноски - в другой файл | ||
+ | * Все картинки выносятся из XML и являются, в конечном счете файлами в архиве | ||
+ | * Связи документа с файлами осуществляются не через xlink, а в соответствии с описанным в OPF механизмом ''отношений'' (Relationships) | ||
+ | * Помимо ряда мелких нововведений в форматирование (разрядка, подчеркивание) добавляется принципиально новый объект "блок", выпадающий из общего течения документа и оформляющий произвольный фрагмент книги в виде четырехугольника, который может иметь границу, внедряться в текст с обтеканием и иметь некоторые другие особенности размещения. | ||
+ | * Часть тегов, имеющих смысловые аналоги в HTML будет переименована, к примеру emphasis превратится в em. | ||
== Общая информация о структуре fb3-файла == | == Общая информация о структуре fb3-файла == |
Версия 14:19, 1 октября 2008
Содержание |
Описание формата fb3 (предложение)
Ответственный: Грибов Д.П., grib@gribuser.ru
Первая версия предложена 3 июля 2008 г.
Версия 0.1 от 1 октября 2008 г.
Приоритеты и отличия от fb2
Формат fb3 разрабатывается для удовлетворения возросших требований к форматированию текста книг и возможностям их каталогизации. Современное состояние стандартов и технологий позволяет, помимо простого расширения набора тегов, привести формат к совместимости с наиболее удачными и перспективными наработками. В частности, в основу fb3 положен стандарт Open Packaging Convention (ECMA-376 Part 2). Помимо этого в качестве картинок можно использовать SVG-файлы (и GIF-файлы, патент на которые закончился).
Приоритеты, на которых основан формат fb2, остаются, но частично расширяются:
- Принцип одна книга - один файл сохраняется. Более того, fb3 поддерживает "подшивки" - несколько книг в одном fb3-файле.
- Минимализм форматирования сохраняется, но для работы с более сложными документами (например, с учебниками) в fb3 вводится минимально-необходимый набор тегов, обеспечивающий максимальное качество верстки при максимально возможной простоте.
- Вся мета-информация является неотъемлемой частью файла. В соответствии с возросшими требованиями к полноте и точности мета-информации была разработана новая, прямо не совместимая с дескрипшном fb2, структура.
- Формат, как и прежде, максимально ориентирован на полноценную и эффективную переносимость текста на любое устройство, с ограниченными ресурсами, черно-белым или небольшим дисплеем и т.п. Единожды сверстанная книга должна быть максимально удобной в любой среде.
Основные отличия от fb2 находятся не в области идеологии, а в плоскости технологических решений. Коротко о наиболее важных отличиях отметим:
- fb3-файл теперь является по сути zip-архивом, в котором упакованы отдельными файлами мета-информация, картинки и текст. Требования к формату zip-файла и соглашения об именах файлов, их размещении и организации описаны в стандарте ECMA-376 Part 2
- Мета-информация выносится в отдельный файл, тело книги и сноски - в другой файл
- Все картинки выносятся из XML и являются, в конечном счете файлами в архиве
- Связи документа с файлами осуществляются не через xlink, а в соответствии с описанным в OPF механизмом отношений (Relationships)
- Помимо ряда мелких нововведений в форматирование (разрядка, подчеркивание) добавляется принципиально новый объект "блок", выпадающий из общего течения документа и оформляющий произвольный фрагмент книги в виде четырехугольника, который может иметь границу, внедряться в текст с обтеканием и иметь некоторые другие особенности размещения.
- Часть тегов, имеющих смысловые аналоги в HTML будет переименована, к примеру emphasis превратится в em.
Общая информация о структуре fb3-файла
- Файл fb3 представляет собой стандартный zip-архив, допустимые методы сжатия - store (без компрессии) и deflate (совместимый с zlib).
- Все файлы внутри архива имеют латинские имена в нижнем регистре.
- В корне архива может присутствовать один из файлов cover.png/cover.jpg, содержащий обложку документа для быстрого отображения. Размер этой картинки не больше, чем 240*240. Полноразмерная обложка может размещаться в другом файле (описывается в fb3_meta.xml, см. ниже).
- В корне архива обязательно присутствует файл fb3_book.xml, содержащий описание и структуру документа.
- В корне архива может присутствовать файл fb3_marks.xml, содержащий заметки/закладки.
- Все прочие файлы в архиве должны быть прямо или косвенно указаны в одном из перечисленных выше *.xml-файлов (например, каждая картинка должна быть использована в документе, если она попала в архив).
- Наличие в zip-архиве файлов (помимо указанных выше), не описанных в документе, является некритической ошибкой. При обработке файла о данной ошибке редактор должен обязательно выдавать предупреждение. Читалка должна игнорировать лишние файлы.
- Ссылки на отсутствующие файлы, используемые в документах, являются некритической ошибкой. И читалки, и редакторы должны выдавать сообщение об ошибке или иным образом ясно информировать пользователя о недостающих файлах.
- В качестве графических форматов будет поддерживаться gif/png/jpg
.xml-файлы в архиве
fb3_meta.xml содержит:
- Метаинформация: название документа (пустое название недопустимо, редактор не должен позволять сохранять такой документ), авторы, жанр, etc. В основном повторяет дескрипшн fb2, со следующими отличиями:
- Упразднен src-title-info (информация библиографического характера будет отдельно обрабатываться, в книге ей делать нечего)
- Тег translator упраздняется
- Тег author в title-info получит новый атрибут role, который будет принимать значения author|translator|compiler|illustrator|editor. Тег translator упраздняется, соответственно.
- Добавлен необязательный book-sub-title для сложных заголовков.
- Новый тег quick-annotation для короткого (120 символов, к примеру) анонса
- Новый порядок тегов title-info:
- coverpage
- book-title
- book-sub-title
- sequence
- author
- genre
- Структура документа: дерево секций, объединенных.
- Оконечные (содержащие текст) секции будут храниться в отдельных файлах, которые описываются в виде атрибута xlink:href.
- Для всех секций возможно указание обложки, картинки, title, subtitle, id.
text#.xml – множественные файлы с текстом секций. Аналогичны содержимому оконечных секций в fb2 с небольшими расширениями. Имена и размещение файлов в архиве не оговаривается, но все они должны быть корректно адресованы через атрибут xlink:href секций в файле fb3_meta.xml. Нововведения по отношению к fb2:
- Нумерованные и ненумерованные списки
- Блоки, выпадающие из общего потока, с атрибутами float, align, width. Возможно, с разрешенной вложенностью. Возможно, с бордерами. К примеру <block float="left" width="40em" align="right"><p>тутатекст</p></block>.
- Убирается inline-элемент code, добавляется block-элемент code, аналог p.
- Картинки больше не хранятся в XML, лежат в архиве, отдельно.
- Сноски будут типизированные. Выделяются концевые и подстраничные. Читалке желательно отображать сноски соответственно.
- Сноски выделяются в отдельный section (или в несколько), и отделяются друг от друга не секциями, а новым тегом <note>
- Новый элемент marker (в учебных пособиях часто используется)
fb3_marks.xml содержит закладки – указывается адрес закладки (с точностью до символа, отмечается начало выделения и конец), тип закладки (закладка, заметка, правка). Адресация с использованием xpointer, в закладке может содержаться текст, аналогичный содержимому секций.
Пример содержимого fb3-архива:
Book.fb3 | -> fb3-файл, де-факто ZIP-архив |
fb3_meta.xml | -> Обязательный файл в архиве, содержит метаинформацию и структуру |
cover.png | -> Необязательный файл в архиве, содержит малоразмерную версию обложки |
text.dir | -> Папка, в которой лежат тексты (могли лежать и в корне, но так нагляднее) |
part1.xml | -> Первая секция (у нас всего две текстовых секции в тексте) |
part2.xml | -> Вторая секция |
fb3_marks.xml | -> Заметки/закладки на полях (которые поставила программа-читалка?) |