Office Open XML
Office Open XML (OOXML, DOCX[1], XLSX, PPTX, проект ISO/IEC IS 29500:2008) — серия форматов файлов для хранения электронных документов пакетов офисных приложений — в частности, Microsoft Office. Формат представляет собой zip-архив, содержащий текст в виде XML, графику и другие данные[2], которые ранее хранились в двоичных форматах DOC, XLS и т. д.
Первоначально формат создавался как замена прежнему двоичному формату документов, который использовали приложения Microsoft Office вплоть до версии Office 2003 включительно, и конкурент стандартизированному прямо перед этим OpenDocument. В 2006 году формат Office Open XML был объявлен свободным и открытым форматом Ecma International. Он является форматом по умолчанию для приложений Microsoft Office 2007 и более поздних.
Две разные версии OOXML определены в ECMA-376[1][3] и в ISO 29500:2008. Полная поддержка формата ISO 29500 ожидалась (но не появилась) в Microsoft Office 2010.
С созданием OOXML двоичные форматы Microsoft открыли на несвободных[4] условиях Microsoft Open Specification Promise — к тому времени они были частично распознаны, но исчерпывающей документации не существовало.
Стандартизация
Предпосылки
Microsoft Office, собранный в 1990 году из программ, появившихся ещё в 80-е, не рассчитывался на взаимообмен. Если же нужно использовать документы Office в чужом ПО — для этого есть Component Object Model и более простые форматы наподобие RTF[5].
К 2005 году участились призывы к госструктурам переходить на открытые форматы. Если в бывшем СССР культура пользования лицензионным ПО была ещё слаба, в Европе закрытый формат правительственных документов фактически стал требованием платить из государственных бюджетов Microsoft — американской компании — несколько сотен долларов за рабочее место. Осознав, что у неё нет подходящего формата, а конкуренты, OASIS, проводят свой ODF через ISO, Microsoft на основе своих DOC и XLS создала свой XML-формат и провела его через Ecma International и ISO. Началась эта процедура в 2006 году и закончилась в 2008 — чуть больше двух лет на всё (ODF начали стандартизировать ещё в 2002-м, и спустя 15 лет работа всё ещё далека от завершения). Оппоненты обнаружили в этом начинании множество нарушений внутренних процедур ISO.
Ecma International
Microsoft заявила, что Office Open XML будет открытым стандартом, и представила его на утверждение Ecma International (ECMA). 8 декабря 2005 года ECMA организовала технический комитет 45 (TC45), чтобы «выпустить формальный стандарт для офисных приложений, полностью совместимый с форматами Office Open XML, представленными Microsoft». Предложение также поддержали Apple Inc., Barclays Capital, BP, the British Library, Essilor, Intel, NextPage., Statoil ASA и Toshiba[6].
ISO/IEC
5 сентября 2007 года принятие варианта OOXML как стандарта ISO/IEC 29500 было временно отклонено по результатам голосования[7].
В марте 2008 года изменённая спецификация была принята как будущий стандарт ISO/IEC 29500. В частности, в Норвегии при этом были отмечены нарушения процесса стандартизации[8]. Позже оказалось, что файлы, сохраняемые Microsoft Office 2007, не проходят тестов на соответствие стандарту, что нарушает правила принятия стандарта через процедуру Fast-Tracking, требующие, чтобы существовали реализации стандарта[9].
В мае 2008 были поданы апелляции от ЮАР[10][11], Бразилии и Индии[12][13], Венесуэлы[14]. Также подана жалоба о нескольких нарушениях от Open Source Leverandørforeningen в Дании[15].
Публикация ISO/IEC DIS 29500 была отложена на период рассмотрения апелляций (30 дней)[16][17].
В июле руководители ISO и IEC порекомендовали Technical Management Board отклонить апелляции, указав в качестве причины то, что проект стандарта был принят голосованием в соответствии с директивами ISO/IEC JTC 1[18].
В августе ISO отклонила апелляции стран, выступающих против принятия OOXML как стандарта, так как они не смогли получить поддержку необходимого числа участников ISO для приостановления принятия стандарта[19]
В конце августа государственные IT‐организации Бразилии, ЮАР, Венесуэлы, Эквадора, Кубы и Парагвая опубликовали заявление о сомнениях в нейтральности ISO[20][21].
В Норвегии, где из 21 голоса «против» и двух голосов «за» получилось «за», 29 сентября 2008 года 13 членов технической комиссии в знак протеста вышли из состава Standard Norge[22][23][24].
По данным собрания ISO/IEC JTC1/SC34, подкомиссии ISO/IEC JTC1, в начале октября SC34 отправила OASIS неопубликованный запрос на передачу ей контроля над стандартом ISO/IEC 26300 (ODF), обосновывая это стремлением к лучшей совместимости между стандартами. В Groklaw также обратили внимание на то, что 9 из 20 присутствовавших на собрании в июле являлись сотрудниками или консультантами Microsoft, либо членами ECMA TC45. В результате появились подозрения в попытке захвата Microsoft контроля над ODF[25][26][27].
Дальнейшая жизнь стандарта
После того, как OOXML стандартизовали, работа над стандартом приостановилась; Microsoft Office 2010 всё ещё отвечал «переходным» требованиям OOXML, но не «строгим». Microsoft пообещал полное соответствие в следующей версии. ISO пригрозила убрать переходные части из стандарта[28].
Office 2013 начал поддерживать строгий OOXML[29]. По умолчанию сохранение всё ещё, даже на 2016 год, идёт в переходной[30].
25 июня 2014 года Microsoft выпустила Open XML SDK в open source под лицензией Apache 2.0[31].
Поддержка в текстовых процессорах
Предыдущие версии MS Office
Большей популярностью на 2007 год пользуются его предшественники — двоичные форматы Microsoft Office 97—2003. Поддержка одной из версий OOXML (не соответствующая ISO/IEC 29500) появилась в Microsoft Office 2007[9]. Для работы с этим форматом в предыдущих версиях MS Office Microsoft предлагает установить Microsoft Office Compatibility Pack, который обеспечивает «прозрачную» работу с форматами Office 2007 пакетов MS Office 2000, XP и 2003[32].
Поддержка формата в других текстовых процессорах
В OpenOffice.org 3 версии присутствует частичная встроенная поддержка OOXML. Для решения данной проблемы существуют онлайн-конверторы, способные конвертировать формат DOCX в другие форматы. Также существует плагин (разработанный фирмой Novell), позволяющий открывать и сохранять файлы в этом формате в ОС семейств SUSE и Microsoft Windows[33].
Поддержка формата OOXML в текстовом процессоре Corel Word Perfect ожидалась в середине 2007 года[34].
Критика
- На момент стандартизации не существовало ни одной программы, работавшей с OOXML. Потому режим стандартизации fast track, предназначенный для широко используемых стандартов, был явно излишним.
- Сам формат предназначен для «точного представления ранее сформированного корпуса электронных документов, таблиц и презентаций, созданных с помощью приложений Microsoft Office»[35]. Со стороны Microsoft дать доступ стороннему ПО к своим документам — это похвальное начинание, однако этого явно мало для кроссплатформенного и межгосударственного обмена документами.
- Юридическая организация Software Freedom Law Center указала на проблемы с условиями, под которыми Microsoft опубликовали спецификацию Microsoft Open Specification Promise: право на использование патента на «технологию» даётся только для кода, реализующего её — частично или полностью, — и не распространяется на работы (в том числе и производные от упомянутого кода), не связанные напрямую с данной технологией[36].
- Название Office Open XML слишком похоже на OpenOffice.org XML, что приводит к путанице[37][38]. Такое уже случалось с предложениями стандартов от Microsoft[39].
- Несмотря на то, что информация о формате открыта, он защищён патентами Microsoft, и любая программа (нарушающая лицензионное соглашение на использование запатентованных составляющих стандарта) для чтения Open XML нарушит законы США[40][41].
- Документация к Open XML занимает более 7000 страниц, что является излишне большим объёмом и существенно усложняет попытку создания программы с поддержкой Open XML[42][43].
- Из‑за широкого использования в Open XML битовых масок невозможно провести формальную проверку XML‐файла с помощью DTD или XSD.
- Open XML является, по сути, переводом в XML бинарных форматов Microsoft Office. Как ручное редактирование, так и поддержка Open XML в других программах серьёзно затруднены. Размеры бумаги перенумерованы числами от 1 до 68, вместо имён A4, B5 и т. д; аналогично сделано с кодами языков. Некоторые наименования цветов отличаются от стандартных.
- Формат поддерживает вставку двоичных данных, что в будущем может привести к несовместимости.
- Формат времени, доставшийся Open XML по наследству от Microsoft Excel, а тому — от Lotus 1-2-3, отсчитывает годы, начиная с 1900. При этом сам 1900 год неправильно трактуется как високосный, вследствие чего все даты до 28 февраля 1900 года включительно имеют неправильное соответствие с днём недели. Также в формате времени не задан часовой пояс, и временны́е расчёты не учитывают переходов на летнее время.
- Использование специального формата математических формул, который имеет альтернативу в виде MathML и вдобавок был отвергнут консорциумом W3C ещё в 1997 году. В других местах также используются собственные форматы Microsoft — например, для векторной графики применяется внутренний формат Windows WMF, а не стандартизированный SVG.
- Нет локализации для семитских языков и языков с начертанием справа налево.
- Отсутствие поддержки языков с начертанием справа налево и, как результат, невозможность написания документов на арабском языке, иврите и др.
- Отсутствие поддержки других выходных дней недели, кроме субботы-воскресенья: в частности, пятницы-субботы (в Израиле) и четверга-пятницы (в странах Ближнего Востока).
См. также
Примечания
- Standard ECMA-376:Office Open XML File Formats (англ.) (PDF и DOCX) (недоступная ссылка). Ecma International (декабрь 2006). Дата обращения: 30 августа 2007. Архивировано 24 августа 2011 года.
- zip-архив содержит в себе XML-файлы и три папки, docProps, Word, и _rels, которые сохраняют свойства документа, содержание и отношения между остальными файлами.DOCX что это за формат файла (недоступная ссылка). OC (4 февраля 2013). Архивировано 16 сентября 2013 года.
- Владимир Парамонов. Новый формат документов Microsoft прошел стандартизацию ECMA . Компьюлента. ИД "Компьютерра" (8 декабря 2006). (недоступная ссылка)
- Microsofts Offenheit passt nicht zur GPL. Software Freedom Law Center untersucht Microsofts Versprechen. (нем.). Golem.de. Дата обращения: 9 авг 2020.
- local.joelonsoftware.com/wiki/Почему_форматы_Microsoft_Office_такие_сложные%3F_(И_как_это_обойти)
- Ecma International creates TC45 to standardize Office Open XML File Formats (англ.) (недоступная ссылка). Ecma International. Дата обращения: 24 августа 2007. Архивировано 23 февраля 2012 года.
- Vote closes on draft ISO/IEC DIS 29500 standard (англ.) (недоступная ссылка). ISO (4 сентября 2007). Дата обращения: 4 сентября 2007. Архивировано 23 февраля 2012 года.
- Front-page: OOXML triggers demonstration in Norway: «Let’s throw OOXML out of ISO» (недоступная ссылка). Дата обращения: 11 апреля 2008. Архивировано 10 апреля 2008 года.
- Pamela Jones. Microsoft Office 2007 Fails OOXML Conformance Tests, Alex Brown Admits, Hopes For the Best (англ.). Groklaw (21 апреля 2008). Дата обращения: 22 апреля 2008.
- David Meyer. OOXML ratification faces delay after objection (англ.) (недоступная ссылка). ZDNet.co.uk. CNET Networks, Inc. (27 мая 2008). Дата обращения: 31 мая 2008. Архивировано 31 мая 2008 года.
- M. Kuscus, CEO, South African Bureau of Standards (SABS). Appeal from the South African national body regarding the outcome of the fast-track processing of DIS 29500 Office open XML (англ.) (недоступная ссылка). Дата обращения: 31 мая 2008. Архивировано 8 декабря 2010 года.
- Индия и Бразилия подали апелляцию против OOXML. Фонд Шаттлворта разъясняет ситуацию (недоступная ссылка). OpenNET (30 мая 2008). Дата обращения: 31 мая 2008. Архивировано 3 августа 2008 года.
- Peter Sayer. India and Brazil File Appeals Against OOXML Standardization (англ.) (недоступная ссылка). PC World Communications, Inc. (IDG) (30 мая 2008). Дата обращения: 31 мая 2008. Архивировано 23 февраля 2012 года.
- Peter Sayer. Venezuela joins line appealing OOXML standard approval (англ.) (недоступная ссылка). IDG News Service (3 июня 2008). Дата обращения: 3 июня 2008. Архивировано 23 февраля 2012 года.
- Pamela Jones. Now an OOXML Protest from Denmark's OSL (англ.). Groklaw (31 мая 2008). Дата обращения: 2 июня 2008.
- Four national standards bodies appeal against approval of ISO/IEC DIS 29500 (англ.) (недоступная ссылка). ISO (6 июня 2008). Дата обращения: 13 июня 2008. Архивировано 23 февраля 2012 года.
- ISO заморозил принятие OOXML (недоступная ссылка). OpenNET (11 июня 2008). Дата обращения: 13 июня 2008. Архивировано 28 мая 2012 года.
- Pamela Jones. ISO to TMB: Here Are the Appeals Against OOXML; They Should Be Denied - Updated 2Xs - Responses . Groklaw (9 июля 2008). Дата обращения: 11 июля 2008.
- Архивированная копия (недоступная ссылка). Дата обращения: 18 августа 2008. Архивировано 18 августа 2008 года. ISO, IEC reject appeals, approve OOXML spec
- Stefan Krempl. Renewed protest against the ISO certification of Microsoft's OOXML (англ.) (недоступная ссылка). Heise Media UK Ltd. (2 сентября 2008). Дата обращения: 5 сентября 2008. Архивировано 23 февраля 2012 года.
- Georgina Prodhan; Sharon Lindores. Microsoft decision sparks dissent amid ISO members (англ.) (недоступная ссылка). Thomson Reuters (1 сентября 2008). Дата обращения: 5 сентября 2008. Архивировано 23 февраля 2012 года.
- zoobab. Norwegians leave their Standards Body in protest (англ.) (недоступная ссылка). <NO>OOXML (2008). Дата обращения: 2 октября 2008. Архивировано 23 июня 2012 года.
- IT-bransjen rømmer fra Standard Norge (норв.) (недоступная ссылка) (29 сентября 2008). Дата обращения: 2 октября 2008. Архивировано 23 февраля 2012 года.
- Skandaleprosess av Standard Norge | Åpne standarder, It-politikk, Office
- The Microsoft-Stacked SC 34 Committee Makes a Move (англ.). Groklaw (2 октября 2008). Дата обращения: 4 октября 2008.
- djwm. Is Microsoft trying to take control of ODF? (англ.) (недоступная ссылка). Heise Media UK Ltd (2 октября 2008). Дата обращения: 4 октября 2008. Архивировано 23 февраля 2012 года.
- Maxim Chirkov. Microsoft может получить контроль над развитием стандарта ODF (недоступная ссылка). OpenNET (2 октября 2008). Дата обращения: 4 октября 2008. Архивировано 3 октября 2008 года.
- Where is there an end of it? | Microsoft Fails the Standards Test
- What is the default file format for saving in MS Office 2013? Is it still the transitional OOXML or the ISO/IEC 29500 strict format? (недоступная ссылка). Дата обращения: 25 сентября 2017. Архивировано 14 августа 2017 года.
- Default file format for saving in MS Office 2016: OOXML Transitional or Strict? (недоступная ссылка). Дата обращения: 25 сентября 2017. Архивировано 25 сентября 2017 года.
- Open XML SDK: Released Today as an Open Source Project (англ.) (25 June 2014).
- Microsoft Office Compatibility Pack Архивировано 25 октября 2007 года.
- Novell: OpenOffice. OpenXML Translator
- WordPerfect to support both ODF and Open XML (англ.) (недоступная ссылка). Linux-Watch. Ziff Davis Enterprise Holdings Inc. (29 ноября 2006). Дата обращения: 30 августа 2007. Архивировано 23 февраля 2012 года.
- (Реализация стандарта Office Open XML (OOXML): О…)
- Microsoft's Open Specification Promise: No Assurance for GPL (недоступная ссылка). Software Freedom Law Center (12 марта 2008). Дата обращения: 7 октября 2009. Архивировано 23 февраля 2012 года.
- Ecma 376's full name, "Office Open XML", confuses the marketplace (англ.) (недоступная ссылка). EOOXML objections - Grokdoc. Дата обращения: 7 октября 2009. Архивировано 23 февраля 2012 года.
- Rob Weir. Amusing but Confusing (англ.) (недоступная ссылка). An Antic Disposition (20 января 2007). Дата обращения: 7 октября 2009. Архивировано 23 февраля 2012 года.
- Pamela Jones. Another MS ECMA-approved "standard" - C++/CLI (англ.) (недоступная ссылка) (30 января 2006). Дата обращения: 7 октября 2009. Архивировано 3 февраля 2010 года.
- Response of US Department of Defense to Letter Ballot INCITS 2212 (англ.) (недоступная ссылка). INCITS (9 августа 2007). Дата обращения: 7 октября 2009. Архивировано 28 сентября 2007 года.
- Sam Hiser. Achieving Openness: A Closer Look at ODF and OOXML (англ.) (HTML) (недоступная ссылка) 1. ONLamp.com (14 июня 2007). Дата обращения: 7 октября 2009. Архивировано 23 февраля 2012 года.
- Six thousand pages, one month, no chance... (англ.) (недоступная ссылка). Дата обращения: 7 октября 2009. Архивировано 23 февраля 2012 года.
- Publication of ISO/IEC 29500:2008, Information technology — Document description and processing languages — Office Open XML file formats
Статьи
- Andreas Fischer. Tracking the status of Office Open XML (англ.) (недоступная ссылка). Balance of Cowards (31 августа 2007). — Примерная сводная таблица готовящихся голосов за стандартизацию OOXML ISO. Дата обращения: 6 февраля 2011. Архивировано 23 февраля 2012 года.
- Реализация стандарта Office Open XML (OOXML): О чём должны знать государственные учреждения . Перевод статьи, опубликованной на сайте Альянса ODF (27 октября 2010). Дата обращения: 6 февраля 2011.
Ссылки
- ECMA-376 — Office Open XML file formats на сайте Ecma International
- Сайт Microsoft для разработчиков openxmldeveloper.org
- Сайт Microsoft для покупателей и партнеров
- Официальная открытая публикация стандартов формата файлов
- Пакет обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint 2007