FictionBook 3.0 beta - краткое описание — различия между версиями
GribUser (обсуждение | вклад) (→Приоритеты и отличия от fb2) |
FBAdmin (обсуждение | вклад) м |
||
(не показаны 10 промежуточные версии 2 участников) | |||
Строка 7: | Строка 7: | ||
== Цель создания формата == | == Цель создания формата == | ||
Формат fb3 разрабатывается для удовлетворения возросших требований к форматированию текста книг и возможностям их каталогизации. Современное состояние стандартов и технологий позволяет, помимо простого расширения набора тегов, привести формат к совместимости с наиболее удачными и перспективными наработками. В частности, в основу fb3 положен стандарт Open Packaging Convention ([http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2]). Помимо этого в качестве картинок можно использовать SVG-файлы (и GIF-файлы, патент на которые закончился). | Формат fb3 разрабатывается для удовлетворения возросших требований к форматированию текста книг и возможностям их каталогизации. Современное состояние стандартов и технологий позволяет, помимо простого расширения набора тегов, привести формат к совместимости с наиболее удачными и перспективными наработками. В частности, в основу fb3 положен стандарт Open Packaging Convention ([http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2]). Помимо этого в качестве картинок можно использовать SVG-файлы (и GIF-файлы, патент на которые закончился). | ||
− | |||
== Преемственность с форматом fb2 == | == Преемственность с форматом fb2 == | ||
Строка 20: | Строка 19: | ||
* fb3-файл теперь является по сути zip-архивом, в котором упакованы отдельными файлами мета-информация, картинки и текст. Требования к формату zip-файла и соглашения об именах файлов, их размещении и организации описаны в стандарте [http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2] | * fb3-файл теперь является по сути zip-архивом, в котором упакованы отдельными файлами мета-информация, картинки и текст. Требования к формату zip-файла и соглашения об именах файлов, их размещении и организации описаны в стандарте [http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2] | ||
* Мета-информация выносится в отдельный файл, тело книги и сноски - в другой файл | * Мета-информация выносится в отдельный файл, тело книги и сноски - в другой файл | ||
− | * Все картинки выносятся из XML и являются, в конечном счете файлами в архиве | + | * Все картинки выносятся из XML и являются, в конечном счете, файлами в архиве |
* Связи документа с файлами осуществляются не через xlink, а в соответствии с описанным в OPF механизмом ''отношений'' (Relationships) | * Связи документа с файлами осуществляются не через xlink, а в соответствии с описанным в OPF механизмом ''отношений'' (Relationships) | ||
* Помимо ряда мелких нововведений в форматирование (разрядка, подчеркивание) добавляется принципиально новый объект "блок", выпадающий из общего течения документа и оформляющий произвольный фрагмент книги в виде четырехугольника, который может иметь границу, внедряться в текст с обтеканием и иметь некоторые другие особенности размещения. | * Помимо ряда мелких нововведений в форматирование (разрядка, подчеркивание) добавляется принципиально новый объект "блок", выпадающий из общего течения документа и оформляющий произвольный фрагмент книги в виде четырехугольника, который может иметь границу, внедряться в текст с обтеканием и иметь некоторые другие особенности размещения. | ||
− | * Часть тегов, имеющих смысловые аналоги в HTML будет переименована, к примеру emphasis превратится в em. | + | * Часть тегов, имеющих смысловые аналоги в HTML, будет переименована, к примеру emphasis превратится в em. |
== Общая информация о структуре fb3-файла == | == Общая информация о структуре fb3-файла == | ||
− | + | В соответствии со спецификацией [http://www.ecma-international.org/publications/standards/Ecma-376.htm 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-архиву, механизмов связывания, кодировок и ограничений на именование файлов в архиве можно найти в стандарте [http://www.ecma-international.org/publications/standards/Ecma-376.htm ECMA-376 Part 2]. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | == Файл мета-информации == | |
+ | Подробно изучить структуру и возможности fb3 в описании книги можно на примере файла /fb3/description.xml из [http://www.gribuser.ru/xml/fictionbook/3.00/example.fb3.zip архива с примером 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-архива: == | == Пример содержимого fb3-архива: == | ||
Строка 71: | Строка 56: | ||
| -> fb3-файл, де-факто ZIP-архив | | -> 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''' |
| -> Заметки/закладки на полях (которые поставила программа-читалка?) | | -> Заметки/закладки на полях (которые поставила программа-читалка?) | ||
|} | |} | ||
+ | [[Категория:FB статьи]] |
Текущая версия на 11:24, 6 февраля 2009
Содержание
Описание формата fb3 (предложение)
Ответственный: Грибов Д.П., grib@gribuser.ru
Первая версия предложена 3 июля 2008 г.
Версия 0.1 от 1 октября 2008 г.
Цель создания формата
Формат 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 | -> Заметки/закладки на полях (которые поставила программа-читалка?) |