Office Open XML

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «Microsoft 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[en] — к тому времени они были частично распознаны, но исчерпывающей документации не существовало.

Стандартизация

Предпосылки

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[no][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[en] указала на проблемы с условиями, под которыми 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,0 1,1 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[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. 9,0 9,1 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 June 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 года.

Статьи

Ссылки