Формат OpenDocument: что и как?

Точкой кипения проекта OpenDocument можно назвать 3 мая 2006 года: в этот день формат был принят как международный стандарт ISO/IEC 26300. Суть OpenDocument состоит в том, чтобы документ, созданный в одной программе, можно было бы прочитать совершенно в другой без конвертирования – таким, каким он был. А также формат должен быть полностью открытым – это облегчает индексацию и поиск документов внутри компании, данный формат может быть использован без ограничений.

Структура OpenDocument

С технической стороны необходимо было сделать простую и доступную структуру, к которой легко осуществляется доступ. Это и было сделано. Формат OpenDocument представляет собой заархивированный в ZIP набор XML-документов и каталогов. За каждым объектом закреплена определенная роль, вполне понятная из его названия.Пример разархивированного файла (взят из OASIS OpenDocument Essentials):

Archive: firstdoc.odt
Length Method Size Ratio Name
-------- ------ ------- ----- ----
39 Stored 39 0% mimetype
3441 Defl:N 885 74% content.xml
6748 Defl:N 1543 77% styles.xml
1173 Stored 1173 0% meta.xml
642 Defl:N 345 46% Thumbnails/thumbnail.png
7176 Defl:N 1307 82% settings.xml
1074 Defl:N 308 71% META-INF/manifest.xml
0 Stored 0 0% Configurations2/
0 Stored 0 0% Pictures/
-------- ------- --- -------
20293  5600 72% 9 files

Для индексации этого документа программе достаточно просмотреть и запомнить файл content.xml, в котором хранится содержание документа, и meta.xml, из которого можно получить описание документа. К тому же, благодаря файлам settings.xml, styles.xml в которых хранится внешний вид документа и его настройки, можно будет открывать документ через веб-интерфейс как в настольной программе, что значительно упрощает создание системы электронного документооборота как внутри предприятия, так и за его пределами (сложность индексации закрытых форматов затягивает развитие корпоративных веб-сервисов). Если более подробно, то content.xml выглядит так:

<text:h text:style-name="Heading_2"> Название</text:h>
<text:p text:style-name="Text_body"/>
<text:p text:style-name="Text_body">Это параграф. Информация по форматированию текста будет взята из styles.xml. Такие дела.</text:p>

Styles.xml отвечает за форматирование:

  • параграфов,
  • страниц,
  • фреймов,
  • списков,
  • за тип шрифта, его начертание и т. п.

Более подробно стоит остановиться на mimetype. В этом файле содержится описание типа документа, к которому он относится. По моему мнению, проще не придумать. Для сравнения рассмотрим формат OpenXML от Microsoft. В принципе, идея аналогична: в ZIP-архиве хранится набор XML-документов и каталогов. Но есть серьезные различия – к сожалению, структура XML-разметки, используемая в OpenXML, пока что очень громоздка и содержание архива непонятно, т.е. не структурировано по первичным признакам. Дальнейшее сравнение форматов пока что бессмысленно, т.к. переходит в забрасывание камнями разработчиков OpenXML.
Как всегда, самое главное – это пользователи. А у них есть привычки, и заставить пользователя работать с новой программой видится мне труднее, чем разработать сам формат и программу, работающую на нем. Человек, который не хочет переходить на новый формат, будет бесконечно жаловаться на невозможность работы: то ему окошечки не нравятся, то кажется, что программа «глючит». В общем, тут как с наркотиками: у него начинается «ломка», и, поверьте, этим будет страдать большинство, поэтому если у вас на предприятии или в офисе нет жесткой вертикали власти, то будет трудно. К тому же, очень сильны попытки некоторых компаний сохранить свое влияние на рынке офисных программ. Их политика в данном вопросе очень агрессивна и бескомпромиссна, они неустанно твердят, что OpenDocument – это плохо, а «наш формат» – хорошо. Причем чем дальше, тем нелепей их нападки.
Кроме того, под Windows на сегодня очень мало программ, которые работают с этим форматом, а под Linux у нас пока не принято работать в формате «рабочего места» (в подавляющем большинстве случаев на Linux базируются сервера).Опять же привычка: начиная со школы в 99% случаях преподается ОС Windows. Стереотипы сидят в людях очень глубоко.

Поддержка формата OpenDocument

На данный момент в ОС GNU/Linux с форматом OpenDocument в режиме текстового процессора работают следующие программы:

  • Abiword 2.4 (чтение – с релиза 2.4, чтение и запись – с 2.4.2, полная поддержка – с 2.4.4);
  • KWord 1.4+ (полная поддержка – с 1.5);
  • OpenOffice.org Writer (только импорт – с 1.1.5, полная поддержка – с 2.0);
  • NeoOffice 1.2 Writer (производное от OpenOffice.org 1.1.5);
  • StarOffice 8 Writer (производное от OpenOffice.org 2.0);
  • IBM Workplace Documents 2.6+ (производное от OpenOffice.org 2.0);
  • TextMaker 2006 (только импорт; в разработке экспорт);
  • Writely (чтение/запись);
  • Zoho Writer (чтение/запись);
  • ajaxWrite (чтение/запись).

В режиме электронных таблиц:

  • Gnumeric (неполная поддержка чтения/записи)
  • KSpread (базовая поддержка – с 1.4.x, полная родная поддержка – с 1.5);
  • OpenOffice.org Calc 2.0 (только импорт – с 1.1.5, полная поддержка – с 2.0);
  • NeoOffice 1.2 Calc (производное от OpenOffice.org 1.1.5);
  • StarOffice 8 Calc (производное от OpenOffice.org 2.0);
  • 602Office 2.0 Calc (производное от OpenOffice.org 2.0);
  • IBM Workplace Documents 2.6+ (производное от OpenOffice.org 2.0).

OpenDocument MIME type

 

В настоящее время очень активно развивает и поддерживает данный формат OpenOffice.org – проект свободного офиса, функционирующего как в среде ОС UNIX/Linux, так и Windows. OOo включает в себя полный набор офисных прикладных программ: текстовый процессор, табличный процессор, презентации, работа с рисунками и т. д. Визуально мало чем отличается от MS Office.

Перспективы

Перспективы развития OpenDocument, на мой взгляд, очень скромные – по крайней мере, в нашей стране. Для внедрения «в массы» нужно проделать очень большую работу. Одно из направлений, которое следует развивать, – это поддержка данного формата государственными структурами и крупными компаниями.
Для этого нужно серьезное лоббирование и грамотная политика в представлении данных программных продуктов. Для этого необходимо создавать очень влиятельную организацию – «Ассоциацию OpenDocument», которая бы занялась этими вопросами (Прим. ред.: вообще говоря, для того и был создан ODF Alliance).Если с государством договориться еще можно, то вот с компаниями – задача не из легких. Хотя бы из-за того, что они ведут конкурентную борьбу и могут испытывать на себе информационный и экономический шантаж со стороны крупных компаний, занимающихся программным обеспечением, и их представителей (не исключено, что даже со стороны государства). На момент написания статьи компания Microsoft заявила о поддержке формата OpenDocument. К чему это приведет, увидим чуть позже.

Ссылки

1.Информация о формате ODF на Wikipedia – http://en.wikipedia.org/wiki/OpenDocument_technical_specification.
2.«OASIS OpenDocument Essentials» – http://books.evc-cit.info/odbook/book.html.
3.«Microsoft bends on OpenDocument» – http://news.com.com/Microsoft+bends+on+OpenDocument/2100-7344_3-6090912.html.
4.«OpenDocument vs. Microsoft OpenXML» – http://opendocumentfellowship.org/introduction/odf_vs_oxml
5. ODF Alliance – http://www.odfalliance.org.

 

Источник
Сайт: Электронное приложение «Open Source»

eZ Publish™ copyright © 1999-2008 eZ systems as