Введение
В этой статье описываются технические спецификации стандарта офисных документов OpenDocument, разработанного отраслевым консорциумом OASIS. Различные организации разработали этот стандарт открыто и сделали его общедоступным, что означает, что любой может его реализовать без ограничений. Формат OpenDocument призван предоставить открытую альтернативу проприетарным форматам документов.
Шаблоны
OpenDocument также поддерживает набор типов шаблонов. Шаблоны представляют собой информацию о форматировании (включая стили) для документов, но без содержимого. Рекомендуемое расширение имени файла начинается с ".ot" (что можно интерпретировать как сокращение от "OpenDocument template"), при этом последняя буква указывает на тип шаблона (например, "t" для текстового документа). Поддерживаемые типы включают:
the content themselves. The recommended filename extension begins with ". ot" (interpretable as short for "OpenDocument template"), with the last letter indicating what kind of template (such as "t" for text). The supported set includes:
Тип файла Расширение MIME-тип Спецификация ODF
Текст .ott application/vnd.oasis.opendocument.text-template 1.0
Таблица .ots application/vnd.oasis.opendocument.spreadsheet-template 1.0
Презентация .otp application/vnd.oasis.opendocument.presentation-template 1.0
Рисунок .otg application/vnd.oasis.opendocument.graphics-template 1.0
Диаграмма .otc application/vnd.oasis.opendocument.chart-template 1.0
Формула .otf application/vnd.oasis.opendocument.formula-template 1.0
Изображение .oti application/vnd.oasis.opendocument.image-template 1.0
Веб-страница .oth application/vnd.oasis.opendocument.text-web 1.0
Способность
Как отмечалось выше, формат OpenDocument может описывать текстовые документы (например, те, которые обычно редактируются в текстовом процессоре), электронные таблицы, презентации, чертежи и графику, изображения, диаграммы, математические формулы и «главные документы» (которые могут их объединять). Он также может представлять шаблоны для многих из них. Официальный стандарт OpenDocument версии 1.0 (OASIS, 1 мая 2005 года) определяет возможности OpenDocument. Ниже представлен краткий обзор возможностей этого формата.
Содержание
Формат текстового содержимого OpenDocument поддерживает как стандартные, так и расширенные возможности. Поддерживаются заголовки различных уровней, списки разных типов (нумерованные и ненумерованные), нумерованные абзацы и отслеживание изменений. Последовательности страниц и атрибуты разделов позволяют управлять отображением текста. Также поддерживаются гиперссылки, рубинный текст (предоставляющий аннотации и особенно важный для некоторых языков), закладки и ссылки. Включены текстовые поля (для автоматически генерируемого контента) и механизмы автоматического создания таблиц, таких как оглавления, предметные указатели и библиографии. Формат OpenDocument реализует электронные таблицы как наборы таблиц, что обеспечивает широкие возможности для форматирования отображения таблиц и электронных таблиц. OpenDocument также поддерживает диапазоны баз данных, фильтры и "сводные таблицы" (известные в среде Microsoft Excel как "пивотные таблицы"). Отслеживание изменений доступно и для электронных таблиц. Формат графики поддерживает векторное графическое представление, в котором определяются набор слоев и содержимое каждого слоя. Доступные фигуры для рисования включают прямоугольник, линию, полилинию, многоугольник, правильный многоугольник, кривую, круг, эллипс и соединитель. Также доступны трехмерные фигуры; формат содержит информацию о сцене, освещении, кубе, сфере, выдавливании и вращении (он предназначен для обмена данными в офисных приложениях и недостаточно для представления видео или сложных 3D-сцен). Можно также определять пользовательские фигуры. Поддерживаются презентации. Пользователи могут добавлять анимацию в презентации, управляя звуком, отображением или скрытием фигур и текста, а также регулируя прозрачность объектов, при этом анимацию можно группировать. В OpenDocument многие возможности форматирования переиспользуются из текстового формата, что упрощает реализацию. Однако таблицы не поддерживаются в OpenDocument как объекты рисования и могут быть включены в презентации только в виде внедренных таблиц. Диаграммы определяют способ создания графических отображений на основе числовых данных. Они поддерживают заголовки, подзаголовки, нижние колонтитулы и легенду для пояснения диаграммы. Формат определяет серию данных, используемых для графического отображения, и различные типы графических отображений (например, линейные диаграммы, круговые диаграммы и т. д.). Формы поддерживаются специально, на основе существующего стандарта XForms.
and change tracking are all supported. Page sequences and section attributes can be used to control how the text is displayed. Hyperlinks, ruby text (which provides annotations and is especially critical for some languages), bookmarks, and references are supported as well. Text fields (for autogenerated content), and mechanisms for automatically generating
tables such as tables of contents, indexes, and bibliographies, are included as well. The OpenDocument format implements spreadsheets as sets of tables. Thus it features extensive capabilities for formatting the display of tables and spreadsheets. OpenDocument also supports database ranges, filters, and "data pilots" (known in Microsoft Excel contexts as "pivot tables"). Change tracking is available for spreadsheets as well. The graphics format supports a vector graphic representation, in which a set of layers and the contents of each layer is defined. Available drawing shapes include Rectangle, Line, Polyline, Polygon, Regular Polygon, Path, Circle, Ellipse, and Connector. 3D Shapes are also available; the format includes information about the Scene, Light, Cube, Sphere, Extrude, and Rotate (it is intended for use as for office data exchange, and not sufficient to represent videos or other extensive 3D scenes). Custom shapes can also be defined. Presentations are supported. Users can include animations in presentations, with control over the sound, showing a shape or text, hiding a shape or text, or dimming something, and these can be grouped. In OpenDocument, much of the format capabilities are reused from the text format, simplifying implementations. However, tables are not supported within OpenDocument as drawing objects, so may only be included in presentations as embedded tables. Charts define how to create graphical displays from numerical data. They support titles, subtitles, a footer, and a legend to explain the chart. The format defines the series of data that is to be used for the graphical display, and a number of different kinds of graphical displays (such as line charts, pie charts, and so on). Forms are specially supported, building on the existing XForms standard.
Форматирование
Контроли стиля и форматирования многочисленны и предоставляют широкий набор средств управления отображением информации. Разметка страницы контролируется различными атрибутами, включая размер страницы, формат чисел, лоток бумаги, ориентацию печати, поля, границы (и толщину линии), отступы, тень, фон, колонки, порядок печати страниц, номер первой страницы, масштаб, выравнивание таблицы, максимальную высоту сноски и разделитель, а также множество свойств сетки макета. Верхние и нижние колонтитулы могут иметь заданные фиксированные и минимальные высоты, толщину линий границ, отступы, фон, тень и динамические интервалы. Существует множество атрибутов для конкретного текста, абзацев, рубинового текста, разделов, таблиц, колонок, списков и заливок. Для отдельных символов можно задавать шрифты, размеры, общие имена семейств шрифтов (например, serif, sans-serif, monospace, декоративный, рукописный или системный) и другие свойства. Вертикальное расстояние в абзацах можно контролировать с помощью атрибутов "keep together", "widow" и "orphan", а также использовать другие атрибуты, такие как "заглавная буква", для специального форматирования. Список атрибутов чрезвычайно обширен; подробности см. в документации (особенно в самом стандарте).
Формулы таблицы
Версия OpenDocument 1.2 полностью описывает математические формулы, которые можно отображать на экране. Она полностью поддерживает обмен данными электронных таблиц, форматами, сводными таблицами и другой информацией, обычно включаемой в электронные таблицы. OpenDocument обменивается формулами в виде значений атрибута table:formula. Допустимый синтаксис table:formula был недостаточно подробно определен в спецификации OpenDocument версии 1.0, которая определяла формулы электронных таблиц, используя набор простых примеров, демонстрирующих, например, способы указания диапазонов и функции СУММ. Поэтому рабочая группа OASIS OpenDocument Formula стандартизировала table:formula в спецификации OpenFormula. Более подробную информацию можно найти в статье OpenFormula.
настройки.xml
настройки.xml содержит настройки, такие как масштаб или положение курсора. Это свойства, которые не относятся к содержимому или разметке.
мимитип (файл)
mimetype – это однострочный файл, содержащий тип MIME документа. Одно из следствий этого – расширение файла не имеет значения для формата документа. Расширение файла предназначено исключительно для удобства пользователя. Важно отметить, что этот специальный файл всегда является первым элементом в ZIP-архиве и не сжимается. Благодаря использованию полей фиксированной длины в заголовке ZIP, это позволяет напрямую определять различные форматы OpenDocument без распаковки содержимого (например, по сигнатуре файла).
Миниатюры (каталог)
Миниатюры — это отдельная папка для эскиза документа. Эскиз должен быть сохранен как “thumbnail.png”. При сохранении файла по умолчанию должно автоматически генерироваться эскизное представление документа, отображающее первую страницу, первый лист и т.п. Требуемый размер эскизов — 128x128 пикселей. Для соответствия Стандарту управления эскизами (TMS), доступному по адресу www.freedesktop.org, эскизы должны сохраняться как 8-битное, нечередующееся PNG-изображение с полной альфа-прозрачностью.
META-INF (справочник)
META INF – это отдельная папка. Информация о файлах, содержащихся в пакете OpenDocument, хранится в XML-файле, называемом файлом манифеста. Файл манифеста всегда хранится по пути META INF/manifest.xml. Основные сведения, хранящиеся в манифесте:
Список всех файлов в пакете. Тип медиа каждого файла в пакете. Если файл, хранящийся в пакете, зашифрован, информация, необходимая для его расшифровки, также хранится в манифесте.
Фотографии (каталог)
Картинки — это отдельная папка для изображений, содержащихся в документе. Эта папка не определена в спецификации OpenDocument. Файлы в этой папке могут использовать различные форматы изображений в зависимости от формата исходного файла. Хотя данные изображения могут быть в любом формате, рекомендуется сохранять растровые изображения в формате PNG, а векторные — в формате SVG.
Повторное использование существующих форматов
По своей конструкции OpenDocument повторно использует существующие открытые стандарты XML, когда это возможно, и создает новые теги только в тех случаях, когда ни один существующий стандарт не может обеспечить необходимую функциональность. Таким образом, OpenDocument использует подмножество DublinCore для метаданных, MathML для отображаемых формул, SMIL для мультимедиа, XLink для гиперссылок и т.д. Хотя OpenDocument и не использует SVG для векторной графики в полном объеме, он применяет векторную графику, совместимую со SVG, в пространстве имен, специфичном для формата ODF, но также включает графику, не относящуюся к SVG.
История
Версия 1.0 стала стандартом OASIS 1 мая 2005 года.
Версия 1.1 стала стандартом OASIS 7 февраля 2007 года.
Версия 1.2 стала стандартом OASIS 29 сентября 2011 года.
Version 1.1 became an OASIS Standard on 2007 02 07
Version 1.2 became an OASIS Standard on 2011 09 29
Обнаружение версий
Для указания версии спецификации OpenDocument, которой соответствует файл, все корневые элементы содержат атрибут office:version. Номер версии имеет формат "ревизия.версия" (например, office:version="1.1"). Атрибут office:version определяет версию спецификации ODF, которая определяет соответствующий элемент, его схему, полное содержимое и интерпретацию.
ОДФ 1.0/1.1
Если файл имеет версию, распознаваемую XML-процессором, он может выполнить проверку документа. В противном случае, проверка документа не обязательна, но документ должен быть корректно сформирован. Использование атрибута office:version в файлах ODF 1.0 и ODF 1.1 не является обязательным.
ОФД 1.2
Атрибут office:version должен присутствовать в каждом элементе <office:document>, <office:document content>, <office:document styles>, <office:document meta> и <office:document settings> в XML-документах, составляющих документ OpenDocument 1.2. Значение атрибута office:version должно быть равно "1.2". Если элемент имеет office:version="1.1", то этот элемент и его содержимое соответствуют спецификации OpenDocument v1.1. Для office:version="1.0" элемент и его содержимое соответствуют спецификации OpenDocument v1.0. Если атрибут office:version отсутствует, элемент соответствует версии спецификации OpenDocument, более ранней, чем v1.2. В этих случаях, а также при значениях, отличных от "1.2", элементы не образуют документ OpenDocument 1.2.
ОДФ 1.0/1.1
Спецификация OpenDocument не определяет, какие элементы и атрибуты должны, должны рекомендовать или могут поддерживать соответствующие приложения. Даже типичные офисные приложения могут поддерживать лишь часть элементов и атрибутов, определенных в спецификации. В спецификации приведена ненормативная таблица, дающая обзор элементов и атрибутов, обычно поддерживаемых типичными офисными приложениями. Документы, соответствующие спецификации OpenDocument, могут содержать элементы и атрибуты, не указанные в схеме OpenDocument. Такие элементы и атрибуты не должны принадлежать пространству имен, определенному в спецификации, и называются внешними элементами и атрибутами. Соответствующие приложения должны либо считывать документы, которые являются допустимыми по схеме OpenDocument, если все внешние элементы и атрибуты удалены перед валидацией, либо создавать документы, которые являются допустимыми по схеме OpenDocument, если все внешние элементы и атрибуты удалены перед валидацией. Соответствующие приложения, осуществляющие чтение и запись документов, могут сохранять внешние элементы и атрибуты. Помимо этого, соответствующие приложения должны сохранять метаинформацию и содержимое стилей. Соответствующие приложения должны считывать документы, содержащие инструкции по обработке, и должны сохранять их.
typical office application. Documents that conform to the OpenDocument specification may contain elements and attributes not specified within the OpenDocument schema. Such elements and attributes must not be part of a namespace that is defined within the specification and are called foreign elements and attributes. Conforming applications either shall read documents that are valid against the OpenDocument schema if all foreign elements and attributes are removed before validation takes place, or shall write documents that are valid against the OpenDocument schema if all foreign elements and attributes are removed before validation takes place. Conforming applications that read and write documents may preserve foreign elements and attributes. In addition to this, conforming applications should preserve meta information and the content of styles. Conforming applications shall read documents containing processing instructions and should preserve them.
ОФД 1.2
ODF 1.2 четко определяет требования к соответствию. Спецификация определяет соответствие для документов, потребителей и производителей, с двумя классами соответствия: «соответствующий» и «расширенный соответствующий». Кроме того, она определяет соответствующие текстовые документы, электронные таблицы, чертежи, презентации, диаграммы, изображения, формулы и интерфейсы баз данных. В главе 2 определены базовые требования для отдельных областей соответствия.