OOXML
OOXML (Office Open XML, ISO/IEC 29500) — это семейство форматов файлов, основанных на языке разметки XML, предназначенных для хранения и обмена офисными документами, включая текстовые файлы, электронные таблицы и презентации. Формат был разработан корпорацией Microsoft как преемник двоичных форматов Office (таких как .doc, .xls и .ppt) и с 2006 года является международным стандартом. OOXML является конкурирующим форматом по отношению к Open Document Format (ODF) и одним из ключевых элементов в истории стандартизации офисного программного обеспечения.
История
Разработка и предпосылки
До середины 2000-х годов Microsoft Office использовал проприетарные двоичные форматы, которые не были полностью открыты для сторонних разработчиков. Это создавало проблемы с долгосрочным хранением документов и совместимостью с другим программным обеспечением. В 2005 году, после выхода Office 2003, который поддерживал XML-форматы (WordprocessingML, SpreadsheetML, PresentationML), Microsoft объявила о создании новой спецификации — Office Open XML. Целью было создание открытого, задокументированного и стандартизированного формата, который мог бы быть реализован любыми разработчиками.
Процесс стандартизации
В декабре 2006 года Microsoft передала спецификацию OOXML на рассмотрение в Ecma International, где она была принята как стандарт Ecma-376. В 2007 году начался процесс утверждения формата в качестве международного стандарта ISO/IEC. Этот процесс сопровождался ожесточёнными спорами и критикой со стороны сторонников ODF, а также некоторых национальных органов по стандартизации, которые указывали на неполноту документации, зависимость от проприетарных компонентов Microsoft и сложность реализации. Тем не менее, в апреле 2008 года OOXML был утверждён как стандарт ISO/IEC 29500:2008. Впоследствии стандарт неоднократно обновлялся, включая версии 2012 и 2016 годов.
Реакция сообщества
Принятие OOXML вызвало неоднозначную реакцию. Сторонники указывали на необходимость стандартизации широко распространённого формата для обеспечения совместимости с существующими документами. Противники, включая организации, такие как Фонд свободного программного обеспечения и некоторые правительства (например, Индии и ЮАР), утверждали, что OOXML является «псевдооткрытым» форматом, который закрепляет доминирование Microsoft на рынке офисного ПО и затрудняет реализацию полной совместмости в свободном программном обеспечении.
Структура и компоненты
Основные форматы
OOXML состоит из нескольких основных типов файлов, которые различаются по расширениям:
- Текстовые документы: .docx, .docm (с поддержкой макросов)
- Электронные таблицы: .xlsx, .xlsm
- Презентации: .pptx, .pptm
- Шаблоны: .dotx, .xltx, .potx
Внутреннее устройство
Файл OOXML представляет собой ZIP-архив, содержащий набор XML-файлов, медиафайлы (изображения, аудио, видео) и файлы конфигурации. Основными компонентами являются:
- [Content_Types].xml — описывает типы содержимого внутри архива.
- _rels/.rels — файлы связей, определяющие зависимости между частями документа.
- word/document.xml (для .docx) — основное содержимое документа, разметка текста, таблиц, стилей.
- xl/workbook.xml (для .xlsx) — структура рабочей книги, листы, данные.
- ppt/presentation.xml (для .pptx) — структура презентации, слайды, заметки.
Языки разметки
OOXML использует три основных языка разметки на основе XML:
- WordprocessingML — для текстовых документов (абзацы, таблицы, поля, сноски).
- SpreadsheetML — для электронных таблиц (ячейки, формулы, диаграммы, сводные таблицы).
- PresentationML — для презентаций (слайды, фигуры, анимация, переходы).
Критика и недостатки
Сложность и объём
Одним из главных упрёков к OOXML является его чрезвычайная сложность. Спецификация стандарта насчитывает несколько тысяч страниц, что затрудняет его полную и корректную реализацию сторонними разработчиками. Многие функции, описанные в стандарте, являются необязательными для реализации, что приводит к различиям в поведении программ при открытии одних и тех же файлов.
Зависимость от Microsoft
Критики отмечают, что OOXML был разработан с учётом особенностей Microsoft Office, и многие его элементы (например, поддержка макросов VBA, использование ActiveX) привязаны к платформе Windows. Это создаёт препятствия для полной совместимости с офисными пакетами на других операционных системах, таких как LibreOffice или Google Docs.
Проблемы с обратной совместимостью
Хотя OOXML был призван заменить старые двоичные форматы, полная обратная совместимость не была достигнута. Некоторые элементы форматирования, особенно связанные с макросами и сложными объектами, могут отображаться некорректно при открытии в старых версиях Office или в других программах.
Поддержка и реализация
Microsoft Office
OOXML является основным форматом по умолчанию для Microsoft Office начиная с версии 2007. Компания также предоставляет бесплатный пакет совместимости для Office 2000–2003, позволяющий открывать, редактировать и сохранять документы в новом формате.
Сторонние реализации
Многие офисные пакеты поддерживают OOXML с различной степенью полноты:
- LibreOffice / Apache OpenOffice — поддерживают импорт и экспорт OOXML, но возможны потери форматирования при работе со сложными документами.
- Google Docs / Microsoft 365 (веб-версия) — поддерживают формат, но не все функции (например, макросы) доступны.
- WPS Office — имеет высокую степень совместимости с OOXML.
- OnlyOffice — позиционируется как решение с максимальной совместимостью с форматами Microsoft.
Правовой статус в России
OOXML не имеет специального правового статуса в Российской Федерации. Формат не запрещён и не признан экстремистским. Однако в рамках политики импортозамещения и перехода на отечественное программное обеспечение, государственные органы и организации часто ориентируются на использование открытых форматов, включая ODF. Тем не менее, OOXML остаётся широко распространённым в коммерческом и образовательном секторах.
Применение
Корпоративный сектор
OOXML является де-факто стандартом для обмена документами в большинстве крупных компаний, использующих Microsoft Office. Это обусловлено исторической распространённостью пакета и привычкой пользователей.
Образование и наука
В образовательных учреждениях OOXML используется для создания учебных материалов, отчётов и презентаций. Однако в ряде стран (например, в некоторых штатах США и в ряде европейских государств) существует тенденция к переходу на ODF для обеспечения долгосрочной доступности и независимости от одного производителя.
Государственные учреждения
В России и других странах государственные органы обязаны использовать форматы, соответствующие национальным стандартам. В России действует ГОСТ Р ИСО/МЭК 29500-2012, который идентичен международному стандарту ISO/IEC 29500. Это означает, что OOXML официально признан и может использоваться в документообороте.
Интересные факты
- Размер спецификации OOXML (ISO/IEC 29500) составляет более 6000 страниц, что делает его одним из самых объёмных стандартов в истории информационных технологий.
- В 2008 году, после утверждения OOXML, возник скандал, связанный с тем, что некоторые национальные органы по стандартизации (например, Швеции, Чехии) изменили свои голоса в пользу принятия стандарта после вмешательства Microsoft.
- Формат OOXML поддерживает не только текст и таблицы, но и сложные объекты, такие как диаграммы, SmartArt, математические формулы (Office Math) и элементы управления формами.
- Несмотря на критику, OOXML остаётся одним из самых распространённых форматов для офисных документов в мире, уступая лишь PDF в определённых сферах.
Источники
- 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 International. Standard ECMA-376: Office Open XML File Formats
- Microsoft Corporation. Office Open XML Overview (2006)
- Критика OOXML в материалах Фонда свободного программного обеспечения (FSF)
- ГОСТ Р ИСО/МЭК 29500-2012 «Информационная технология. Языки описания и обработки документов. Форматы файлов Office Open XML»
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →