Office Open XML

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Office Open XML (ще часто називається OOXML) — міжнародний стандарт формату файлів для електронних документів, як-от електронні таблиці, діаграми, презентації та текстові документи, що базується на XML.[1]

Компанія Microsoft початково розробила специфікацію формату як наступника бінарних форматів Microsoft Office. Пізніше специфікація була передана до Ecma International для розробки стандарту Ecma-376, під керівництвом Ecma International Technical Committee TC45. Стандарт Ecma 376 було опубліковано в грудні 2006 і він може бути вільно завантажений з сайту Ecma international. Після цього формат Office Open XML було передано до ISO для стандартизації. 01 квітня 2008 року компанія Microsoft оголосила про схвалення стандарту в ISO[2]

Стандартизація[ред.ред. код]

Міжнародна організація зі стандартизації (ISO) і Міжнародна електротехнічна комісія (IEC) у квітні 2008 року винесли ухвалу про ухвалення формату офісних документів Office Open XML (OOXML) як міжнародний стандарт. Відповідно до опублікованих документів, 86 % членів ISO і IEC, що взяли участь в голосуванні, підтримали даний формат, тоді як для ухвалення формату, відповідно до директив ISO/IEC, за нього повинні були віддати голоси 75 % членів організацій. Таким чином, Office Open XML приєднався до таких відомих форматів, як HTML, PDF і ODF, які також були затверджені ISO/IEC.

Office Open XML був розроблений Microsoft для зберігання електронних документів в пакетах офісних застосувань і, зокрема, в Microsoft Office. Формат є ZIP-архів, що містить текст у вигляді XML, графіку і інші дані. Заявка на стандартизацію формату через організацію Ecma була винесена в листопаді 2005 р. Новий формат повинен був називатися Ecma Office Open XML. Процес отримав підтримку з боку багатьох компаній, проте на первинному голосуванні у вересні 2007 р. OOXML набрав 53 % голосів «за» і 26 % голосів «проти» і не був затверджений як стандарт.

Власний стандарт Microsoft в його сертифікованому ISO вигляді офісним пакетом Microsoft Office 2007 в повному обсязі не підтримується, і Microsoft планує, що його підтримка не буде реалізована до виходу Office 14, запланованого на 2009–2010 рр.

Незабаром після стандартизації національні організації Бразилії, ПАР, Індії та Венесуели подали формальні апеляції[3] з претензіями про недотримання необхідних процедур в процесі обговорення, яке не дозволило задовільним чином обговорити і усунути зауваження національних комітетів до проекту стандарту, відсутність консенсусу в ході погоджувальної зустрічі, а також той факт, що порушено регламент, що приписує публікацію тексту стандарту протягом місяця після закінчення обговорення, текст стандарту не був опублікований. В серпні 2008 апеляція була відхилена технічним комітетом ISO, але це не вберегло керівництво ISO від звинувачень в упередженій прихильності до софтової монополії.

Формат файлу та структура[ред.ред. код]

В ранній формі цих форматів, перед стандартизацією ECMA, Microsoft Office 2003 XML використовували єдиний монолітний файл з вбудованими елементами такими як зображення як закодовані блоки всередині XML. Office Open XML більш цього не підтримує, але використовує стиснення файлів відповідно до Open Packaging Convention. Цей формат використовую формат файлу ZIP та містить окремі файли що формують базис документу. Крім розмітки документу використовуваної офісом, пакет також включає вбудовані (двійкові) файли у таких форматах як PNG, BMP, AVI чи PDF.

У рамках ініціативи .NET Foundation з переходу до відкритих методів розробки платформи .NET, у червні 2014 компанія Microsoft відкрила[4] під ліцензією Apache сирцеві тексти Open XML SDK, що надає засоби для створення і обробки документів у форматі Open XML (DOCX, XLSX і PPTX). Зокрема, Open XML SDK дозволяє генерувати документи, витягувати інформацію з існуючих документів (у тому числі для перетворення в HTML) і модифікувати існуючі документи. Також в Open XML SDK присутній код перевірки якості, який може бути використаний в системі автоматизованого тестування для перевірки якості підтримки OOXML. Сирцевий код SDK написаний мовою C#.

Мови розмітки документів[ред.ред. код]

Office Open XML файл може містити декілька документів закодованих спеціалізованими мовами розмітки відповідно до програм у лінійці Microsoft Office.

Office Open XML визначає багато словинків (використовуючи 27 просторів імен (namespaces) та 89 схема-модулів(schema modules))

Первинні мови розмітки:

  • WordprocessingML для обробки текстовий документів
  • SpreadsheetML для електронних таблиць
  • PresentationML для презентацій
  • DrawingML для векторної графіки, діаграм, та, наприклад, для художнього тексту. (додатково, хоча це вже й застаріло, VML підтримується для малювання).

Спільні матеріали для мов розміток:

  • Office Math Markup Language (OMML)
  • Розширені властивості(Extended properties)
  • Властивості задані користувачем (Custom properties)
  • Варіантні типи(Variant Types)
  • Користувацькі XML data властивості (Custom XML data properties)
  • Бібліографія (Bibliography)

На додаток до вищевказаних мов користувацькі XML схеми можуть бути використані для розширення Office Open XML.

XML Schema OOXML акцентує на зменшенні часу завантаження та поліпшенні швидкості парсингу. У тестах з прикладними програмами у Квітні 2007, офісні документи на базі XML були повільнішими від тих, що працювали з двійковим форматом.

Для покращення продуктивності, OOXML використовує дуже короткі імена елементів для загальних елементів і для електронних таблиць зберігає дати як індексні числа (починаючи з 1899 чи з 1904). Для того щоб бути систематичним та загальним, OOXML більше використовує окремі child елементи для данних та метаданних (для властивостей імена закінчуються на Pr) ніж багаточисленні атрибути, що також дозволяє створення структурованих властивостей. OOXML не використовує змішаний вміст, але використовує елементи для розміщення серії текстів (text runs) (ім'я елемента r) у параграфи (ім'я елемента p). Результат виходить стиснутий і має більш гніздову форму на противагу до HTML.

Використання[ред.ред. код]

Підтримка попередньої версії OOXML (не відповідної ISO/IEC 29500) з'явилась у Microsoft Office 2007. Для роботи з цим форматом у попередніх версіях Microsoft Office необхідно встановити Microsoft Office Compatibility Pack.

Виноски[ред.ред. код]

Див. також[ред.ред. код]

Посилання[ред.ред. код]