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.

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].

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.
  • Нет локализации для семитских языков и языков с начертанием справа налево.
  • Отсутствие поддержки языков с начертанием справа налево и, как результат, невозможность написания документов на арабском языке, иврите и др.
  • Отсутствие поддержки других выходных дней недели, кроме субботы-воскресенья: в частности, пятницы-субботы (в Израиле) и четверга-пятницы (в странах Ближнего Востока).

Примечания

[править | править код]
  1. 1 2 Standard ECMA-376:Office Open XML File Formats (англ.) (PDF и DOCX). Ecma International (декабрь 2006). Дата обращения: 30 августа 2007. Архивировано из оригинала 24 августа 2011 года.
  2. zip-архив содержит в себе XML-файлы и три папки, docProps, Word, и _rels, которые сохраняют свойства документа, содержание и отношения между остальными файлами.DOCX что это за формат файла. OC (4 февраля 2013). Архивировано из оригинала 16 сентября 2013 года.
  3. Владимир Парамонов. Новый формат документов Microsoft прошел стандартизацию ECMA. Компьюлента. ИД "Компьютерра" (8 декабря 2006). (недоступная ссылка)
  4. Microsofts Offenheit passt nicht zur GPL. Software Freedom Law Center untersucht Microsofts Versprechen. (нем.). Golem.de[нем.]. Дата обращения: 9 августа 2020. Архивировано 24 января 2021 года.
  5. local.joelonsoftware.com/wiki/Почему_форматы_Microsoft_Office_такие_сложные%3F_(И_как_это_обойти)
  6. Ecma International creates TC45 to standardize Office Open XML File Formats (англ.). Ecma International. Дата обращения: 24 августа 2007. Архивировано из оригинала 23 февраля 2012 года.
  7. Vote closes on draft ISO/IEC DIS 29500 standard (англ.). ISO (4 сентября 2007). Дата обращения: 4 сентября 2007. Архивировано из оригинала 23 февраля 2012 года.
  8. Front-page: OOXML triggers demonstration in Norway: «Let’s throw OOXML out of ISO». Дата обращения: 11 апреля 2008. Архивировано из оригинала 10 апреля 2008 года.
  9. 1 2 Pamela Jones. Microsoft Office 2007 Fails OOXML Conformance Tests, Alex Brown Admits, Hopes For the Best (англ.). Groklaw (21 апреля 2008). Дата обращения: 22 апреля 2008. Архивировано 10 сентября 2008 года.
  10. David Meyer. OOXML ratification faces delay after objection (англ.). ZDNet.co.uk. CNET Networks, Inc. (27 мая 2008). Дата обращения: 31 мая 2008. Архивировано из оригинала 31 мая 2008 года.
  11. 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 года.
  12. Индия и Бразилия подали апелляцию против OOXML. Фонд Шаттлворта разъясняет ситуацию. OpenNET (30 мая 2008). Дата обращения: 31 мая 2008. Архивировано из оригинала 3 августа 2008 года.
  13. Peter Sayer. India and Brazil File Appeals Against OOXML Standardization (англ.). PC World Communications, Inc. (IDG) (30 мая 2008). Дата обращения: 31 мая 2008. Архивировано из оригинала 23 февраля 2012 года.
  14. Peter Sayer. Venezuela joins line appealing OOXML standard approval (англ.). IDG News Service (3 июня 2008). Дата обращения: 3 июня 2008. Архивировано из оригинала 23 февраля 2012 года.
  15. Pamela Jones. Now an OOXML Protest from Denmark's OSL (англ.). Groklaw (31 мая 2008). Дата обращения: 2 июня 2008. Архивировано 5 мая 2010 года.
  16. Four national standards bodies appeal against approval of ISO/IEC DIS 29500 (англ.). ISO (6 июня 2008). Дата обращения: 13 июня 2008. Архивировано из оригинала 23 февраля 2012 года.
  17. ISO заморозил принятие OOXML. OpenNET (11 июня 2008). Дата обращения: 13 июня 2008. Архивировано из оригинала 28 мая 2012 года.
  18. Pamela Jones. ISO to TMB: Here Are the Appeals Against OOXML; They Should Be Denied - Updated 2Xs - Responses. Groklaw (9 июля 2008). Дата обращения: 11 июля 2008. Архивировано 10 сентября 2008 года.
  19. Архивированная копия. Дата обращения: 18 августа 2008. Архивировано 18 августа 2008 года. ISO, IEC reject appeals, approve OOXML spec
  20. Stefan Krempl. Renewed protest against the ISO certification of Microsoft's OOXML (англ.). Heise Media UK Ltd. (2 сентября 2008). Дата обращения: 5 сентября 2008. Архивировано из оригинала 23 февраля 2012 года.
  21. Georgina Prodhan; Sharon Lindores.: Microsoft decision sparks dissent amid ISO members (англ.). Thomson Reuters (1 сентября 2008). Дата обращения: 5 сентября 2008. Архивировано из оригинала 23 февраля 2012 года.
  22. zoobab. Norwegians leave their Standards Body in protest (англ.). <NO>OOXML (2008). Дата обращения: 2 октября 2008. Архивировано из оригинала 23 июня 2012 года.
  23. IT-bransjen rømmer fra Standard Norge (норв.) (29 сентября 2008). Дата обращения: 2 октября 2008. Архивировано из оригинала 23 февраля 2012 года.
  24. Skandaleprosess av Standard Norge | Åpne standarder, It-politikk, Office. Дата обращения: 2 октября 2008. Архивировано 16 сентября 2008 года.
  25. The Microsoft-Stacked SC 34 Committee Makes a Move (англ.). Groklaw (2 октября 2008). Дата обращения: 4 октября 2008. Архивировано 5 мая 2010 года.
  26. djwm. Is Microsoft trying to take control of ODF? (англ.). Heise Media UK Ltd (2 октября 2008). Дата обращения: 4 октября 2008. Архивировано из оригинала 23 февраля 2012 года.
  27. Maxim Chirkov. Microsoft может получить контроль над развитием стандарта ODF. OpenNET (2 октября 2008). Дата обращения: 4 октября 2008. Архивировано из оригинала 3 октября 2008 года.
  28. Where is there an end of it? | Microsoft Fails the Standards Test. Дата обращения: 29 октября 2015. Архивировано 4 апреля 2010 года.
  29. 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 года.
  30. Default file format for saving in MS Office 2016: OOXML Transitional or Strict? Дата обращения: 25 сентября 2017. Архивировано из оригинала 25 сентября 2017 года.
  31. Open XML SDK: Released Today as an Open Source Project (англ.) (25 июня 2014). Дата обращения: 6 июля 2014. Архивировано 7 июля 2014 года.
  32. Microsoft Office Compatibility Pack Архивировано 25 октября 2007 года.
  33. Novell: OpenOffice. OpenXML Translator. Дата обращения: 28 августа 2009. Архивировано 26 августа 2009 года.
  34. WordPerfect to support both ODF and Open XML (англ.). Linux-Watch. Ziff Davis Enterprise Holdings Inc. (29 ноября 2006). Дата обращения: 30 августа 2007. Архивировано из оригинала 23 февраля 2012 года.
  35. (Реализация стандарта Office Open XML (OOXML): О…). Дата обращения: 15 мая 2022. Архивировано 13 мая 2022 года.
  36. Microsoft's Open Specification Promise: No Assurance for GPL. Software Freedom Law Center (12 марта 2008). Дата обращения: 7 октября 2009. Архивировано из оригинала 23 февраля 2012 года.
  37. Ecma 376's full name, "Office Open XML", confuses the marketplace (англ.). EOOXML objections - Grokdoc. Дата обращения: 7 октября 2009. Архивировано из оригинала 23 февраля 2012 года.
  38. Rob Weir. Amusing but Confusing (англ.). An Antic Disposition (20 января 2007). Дата обращения: 7 октября 2009. Архивировано из оригинала 23 февраля 2012 года.
  39. Pamela Jones. Another MS ECMA-approved "standard" - C++/CLI (англ.) (30 января 2006). Дата обращения: 7 октября 2009. Архивировано из оригинала 3 февраля 2010 года.
  40. Response of US Department of Defense to Letter Ballot INCITS 2212 (англ.). INCITS (9 августа 2007). Дата обращения: 7 октября 2009. Архивировано из оригинала 28 сентября 2007 года.
  41. Sam Hiser. Achieving Openness: A Closer Look at ODF and OOXML (англ.) (HTML) 1. ONLamp.com (14 июня 2007). Дата обращения: 7 октября 2009. Архивировано из оригинала 23 февраля 2012 года.
  42. Six thousand pages, one month, no chance... (англ.). Дата обращения: 7 октября 2009. Архивировано из оригинала 23 февраля 2012 года.
  43. Publication of ISO/IEC 29500:2008, Information technology — Document description and processing languages — Office Open XML file formats. Дата обращения: 21 ноября 2008. Архивировано 6 июля 2009 года.