Открыть сервис

Формат Open XML

Open XML (также OOXML, Office Open XML) — это набор форматов файлов на основе языка разметки XML, разработанный корпорацией Microsoft для представления и хранения электронных документов, включая текстовые документы, электронные таблицы, презентации и диаграммы. Формат был впервые представлен в составе пакета Microsoft Office 2007 и впоследствии стандартизирован международными организациями. Open XML является прямым конкурентом формата OpenDocument (ODF) и одним из наиболее распространённых форматов для офисных документов в мире.

История

Предпосылки создания

До появления Open XML основным форматом файлов Microsoft Office был двоичный формат (Binary Interchange File Format, BIFF), используемый в версиях Office 97—2003. Эти форматы были закрытыми, слабо документированными и зависели от конкретной версии программного обеспечения. С ростом требований к интероперабельности, долговременному хранению документов и поддержке открытых стандартов возникла необходимость в новом, основанном на XML формате.

Разработка и стандартизация

Разработка Open XML началась в 2000 году под руководством Microsoft. Первая версия была выпущена вместе с Microsoft Office 2007. В 2006 году Microsoft передала спецификацию формата в международную организацию по стандартизации Ecma International, которая приняла его как стандарт ECMA-376 в декабре 2006 года. В 2008 году Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) утвердили Open XML как международный стандарт ISO/IEC 29500. Процесс стандартизации сопровождался значительными спорами и критикой, особенно со стороны сторонников формата OpenDocument.

Последующие версии

Стандарт ISO/IEC 29500 был пересмотрен в 2008, 2012 и 2016 годах. В 2010 году Microsoft выпустила пакет обновления Office Compatibility Pack, позволяющий открывать документы Open XML в более старых версиях Office. В 2013 году вышла версия Office 2013, которая полностью перешла на Open XML как основной формат по умолчанию.

Архитектура и структура

Основные принципы

Open XML основан на открытых стандартах XML и ZIP. Файл в формате Open XML представляет собой ZIP-архив, содержащий несколько XML-файлов и других ресурсов (изображения, шрифты, медиафайлы). Каждый файл внутри архива описывает определённую часть документа: содержимое, стили, метаданные, настройки страницы и т.д. Такая архитектура обеспечивает модульность, сжатие и возможность частичного доступа к данным.

Типы документов

Open XML определяет несколько основных типов документов, каждый из которых имеет своё расширение и корневую схему:

  • WordprocessingML (.docx) — для текстовых документов.
  • SpreadsheetML (.xlsx) — для электронных таблиц.
  • PresentationML (.pptx) — для презентаций.
  • DrawingML (используется внутри других типов) — для векторной графики и диаграмм.

Внутренняя структура

Архив Open XML содержит следующие основные компоненты:

  • [Content_Types].xml — описывает типы содержимого внутри архива.
  • _rels/.rels — корневые связи (relationships) между частями документа.
  • word/document.xml (для .docx) — основное содержимое документа.
  • word/styles.xml — определения стилей.
  • word/settings.xml — настройки документа.
  • docProps/app.xml — метаданные приложения.
  • docProps/core.xml — основные метаданные (автор, дата создания и т.д.).

Каждый элемент документа (абзац, таблица, ячейка, слайд) представлен соответствующим XML-тегом с атрибутами. Связи между частями документа задаются через файлы отношений (.rels).

Классификация и версии

Версии стандарта

  • ECMA-376 (2006) — первая редакция, принятая Ecma International.
  • ISO/IEC 29500:2008 — первая международная версия, включающая два основных подмножества: Strict (строгий, соответствующий XML-схемам) и Transitional (переходный, сохраняющий совместимость с двоичными форматами).
  • ISO/IEC 29500:2012 — вторая редакция, уточняющая спецификации.
  • ISO/IEC 29500:2016 — третья редакция, добавляющая поддержку новых возможностей (например, макросы в формате VBA).

Подмножества

  • Strict — полное соответствие XML-схемам, рекомендуется для новых приложений и долговременного хранения.
  • Transitional — включает элементы, не соответствующие строгим схемам, но необходимые для обратной совместимости с двоичными форматами Microsoft Office. По умолчанию используется в Microsoft Office.

Поддержка и реализация

Microsoft Office

Microsoft Office 2007 и более поздние версии используют Open XML в качестве основного формата. Начиная с Office 2010, поддерживается как Strict, так и Transitional подмножества. В Office 2013 и выше реализована полная поддержка ISO/IEC 29500:2012.

Сторонние реализации

Open XML поддерживается многими офисными пакетами и библиотеками:

Проблемы совместимости

Несмотря на стандартизацию, между различными реализациями существуют расхождения в интерпретации спецификации. Наиболее частые проблемы:

  • Различия в обработке стилей и форматирования.
  • Неполная поддержка сложных элементов (например, SmartArt, макросы).
  • Различия в кодировке и обработке специальных символов.

Применение и значение

Корпоративная среда

Open XML широко используется в корпоративных и государственных организациях благодаря интеграции с Microsoft Office. Формат поддерживается системами документооборота, архивирования и электронного документооборота.

Образование и наука

Формат используется для создания и обмена учебными материалами, отчётами и научными публикациями. Многие издательства и образовательные платформы принимают документы в формате .docx.

Долговременное хранение

Благодаря открытой спецификации и использованию XML, Open XML пригоден для долговременного хранения документов. Однако существуют рекомендации использовать подмножество Strict для лучшей совместимости с будущими системами.

Критика

Сложность и объём

Спецификация Open XML критикуется за чрезмерную сложность (более 6000 страниц документации) и большое количество необязательных элементов. Это затрудняет создание полностью совместимых сторонних реализаций.

Зависимость от Microsoft

Несмотря на стандартизацию, Open XML часто воспринимается как формат, оптимизированный под Microsoft Office. Некоторые элементы (например, макросы VBA) не являются частью стандарта и не поддерживаются другими приложениями.

Конкуренция с ODF

Open XML является прямым конкурентом формата OpenDocument (ODF), который также является международным стандартом (ISO/IEC 26300). В ряде стран (например, в странах Европейского союза) ODF рекомендуется или обязателен для государственных учреждений. В России Open XML также широко распространён, но не имеет обязательного статуса.

Интересные факты

  • Формат Open XML поддерживает встраивание произвольных двоичных данных (например, изображений, шрифтов) в ZIP-архив, что позволяет создавать самодостаточные документы.
  • Внутри файла .docx можно вручную редактировать XML-файлы, что позволяет автоматизировать обработку документов без использования офисного пакета.
  • Стандарт Open XML включает поддержку математических формул (MathML) и диаграмм (DrawingML).
  • В 2012 году Microsoft выпустила бесплатный инструмент Open XML SDK для разработчиков, упрощающий создание и модификацию документов.

Источники

  • ISO/IEC 29500-1:2016 «Information technology — Document description and processing languages — Office Open XML File Formats — Part 1: Fundamentals and Markup Language Reference»
  • ECMA-376 «Office Open XML File Formats» (5th edition, 2016)
  • Microsoft Office Open XML Overview (документация Microsoft)
  • Статья «Office Open XML» в Википедии (русскоязычная версия)
  • Материалы конференции «XML Prague 2010» — доклады о реализации Open XML в сторонних проектах

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →