Несколько слов о форматах Fb2 и Fb3

Вадим Яновский
Бесспорно, формат очень интересен. В первую очередь как попытка расширить понятие простого книжного текста. В его описании особо подчеркивается, что на основании этого формата легко строятся хранилища, библиотеки. Т.е. формат содержит элементы самокаталогизации. Проблема в том, что исчезающе мало сетевых библиотек, в которых предпочтение отдавалось бы одному формату. Поскольку любое хранилище ориентировано, прежде всего, на пользователя, а пользователь – существо крайне консервативное и привередливое. Качать книжки в одном единственном доступном формате? С чего бы? А еще если книги собираются с миру по нитке, на кой хрен конвертировать их в единый формат хранения? Во первых, лениво, во-вторых, и так всё хорошо.

Конечно, XML позволяет творить с информацией буквально чудеса. Очень удобная и практичная штука. На его основе каких только форматов не разработано! Начиная с обмена данными на фондовых рынках, да что там говорить, если пресловутый SWIFT в последних редакциях – тот же XML, и кончая такими вещами, как обмен информацией в рекламной деятельности. Ну и, конечно, рассылки RSS и прочее-прочее. И не напряжно: придумывай себе тэги по вкусу, рисуй ограничения по их вложенности или очередности, делов-то!

Куда же развивается формат? Какие новшества предлагаются в третьей версии? Во-первых, теперь это уже файловая структура, точнее – архив. На сайте www.fictionbook.org приводится проект нового формата и пример книги, собранной в нём. Суть этих изменений – стремление следовать стандарту Open Office XML. Понятная и похвальная инициатива. Любая стандартизация – это всегда большой плюс. Разумеется, были добавлены и новые тэги. Кому интересно, всё это можно посмотреть на том же сайте в разделе «FictionBook 3.0 beta - краткое описание».

Всё-таки, чего не хватает проекту?

На мой взгляд, новому формату не помешала коммерческая составляющая. Да, выглядит на первый взгляд пошло. Снова разговор пошел про деньги. А давайте посмотрим на опыт Apple, который своей платформой удовлетворяет всех: авторов, издателей (т.е. себя) и даже потребителей. Покупка контента в два щелчка делает пиратство бессмысленным. Ну да, пользователь щёлкнул по кнопкам Buy и Install и всё: книжка, игра или музыка уже у него на компьютере. Удобно!

Формат, позволяющий легко создавать программное обеспечение для коммерческого распространения контента, коими являются, в том числе и книги, бесспорно найдет множество сторонников. По опыту создания самых разных электронных торговых площадок могу сказать, что проблема организации расчётов – самая сложная. Точнее, самая тонкая, где сосредоточена львиная доля рисков. Почему? Да потому что, с одной стороны, необходимо обеспечить гарантию платежа, а с другой – защиту. Охочих добраться до чужих денег всегда было предостаточно. Вот и придумываются различные схемы, чаще всего с неким буфером, куда сначала нужно положить денежку, а потом ею распоряжаться. Любое решение, направленное на упрощение обработки информации в системе со множеством пользователей и направленное на снижение рисков здесь как нельзя кстати и будет принято на ура.

Далее, недавно посмотрел интервью с Вадимом Нестеровым (http://russia.ru/video/resheto_11225/), речь шла о проекте «Этногенез». Интереснейшая инициатива. Бесспорно, у предлагаемой парадигмы, «проектная литература» – большое будущее. Вот, правда, у редактора, который в рамках этой новой парадигмы становится координатором проекта, инструментов маловато. В самом деле, сводить воедино усилия нескольких авторов не так просто. Вот если бы каждый новый проект начинался с общего описания мира, фабулы, возможно, общей канвы событий, проще было бы всем. Больше всего это похоже на метафору «база знаний». Можно ли решить эту задачу с помощью нового формата? Безусловно. Например, прежде чем включиться в проект, автор получает готовую базу знаний, актуальную в данный момент времени. Любое законченное произведение в рамках проекта содержит сводную информацию, важную для всех участников проекта. Таким образом, база знаний пополняется с каждым произведением, прошедшим через руки координатора проекта, а процесс становится автомодельным.

Теперь по специальную и научную литературу. Вот что по этому вопросу сообщает сайт www.fictionbook.org:

«Более всего формат FictionBook подходит для художественной литературы. Специальную литературу: научную, техническую, - описать в терминах формата пока затруднительно».

Господа, это какой-то нонсенс, позор на голову всего программистского сообщества. Анонсировать третью(!) версию формата на базе XML и при этом констатировать факт, что описывать специальную литературу «затруднительно». Для рисования табличек тэги нашлись. А до рисования математических формул руки почему-то не дошли, хотя другого, более удобного способа их описания придумать сложно. На вскидку:


<формула>
S =
<дробь>
<знаменатель>2</знаменатель>
</дробь>
</формула>


Или:

<схема style="электрическая принципиальная">
<цепь style="..."></индуктивность style="L1;5мГн;последовательно">
<каскад style="транзисторный;дифференциальный">
<транзистор style="Т1;КТ-315;..."></транзистор>
</каскад>
</цепь>
</схема>


Или, к примеру, блок-схема:

<схема style="блок-схема;align=...">
<блок style="старт;линия=двойная">Начало алгоритма</>
<связь style="стрелка:вниз"></>
<блок style="ветвление;линия=одинарная...">A > B ?</>
<связь style="стрелка:вниз">Да</>
<связь style="стрелка:вправо">Нет</>
...
</схема>


Интерпретация записей такого рода не представляет большой сложности. В конце концов, накоплен громадный опыт веб-программирования, который можно использовать для этого. Реализовать читалку для подобного рода записей не так уж сложно. Какие здесь видятся плюсы и минусы? Минус очевидный, нужен общепринятый стандарт, поскольку ошибочная интерпретация формулы или схемы – это ошибка в формуле или схеме. Стандарт не должен допускать возможности двоякой трактовки подобного рода записей. Зато плюс – довольно веский. Построение поисковой системы, способной ориентироваться в формулах, схемах и т.п. не будет представлять большой сложности.

20.11.2010 г.