Office Open XML

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Office Open XML (OOXML) je specifikace pro souborový formát na ukládání dokumentů kancelářských balíků jako textových dokumentů, tabulek či prezentací. Formát byl navržen společností Microsoft a poprvé byl použit v Microsoft Office 2007. Finální specifikace byla vytvořena pod hlavičkou sdružení ECMA v rámci pracovní [url=http://www.ecma-international.org/memento/members.htm]skupiny TC45[/url], jejímiž členy jsou například také společnosti a organizace, mezi které patří: Apple, Barclays Capital, BP, Britská knihovna, Essilor, Intel, Microsoft, NextPage, Novell, Statoil, Toshiba a Knihovna kongresu USA. Tento standard dostal označení [url=http://www.ecma-international.org/publications/standards/Ecma-376.htm]ECMA-376[/url]. Schvalování vyvolalo kontroverze.

Charakteristika

Formát Office Open XML je soubor ZIP, který v sobě obsahuje XML a další potřebné soubory. Výsledkem jsou tak menší soubory, než byly původní binární soubory, které byly vytvářeny předchozími verzemi kancelářského balíku Microsoft Office. +more Hlavním cílem zavedení formátu bylo především zajištění splnění podmínek standardizačního procesu a úplná zpětná kompatibilita s doposud existujícími dokumenty, které uživatelé nadále používají, nebo je mají archivované, včetně plné podpory všech jejich rozšiřujících vlastností.

Dokumentace

Seznam oficiální dokumentace ke specifikaci: * [url=http://www. ecma-international. +moreorg/publications/files/ECMA-ST/Office%20Open%20XML%20Part%201%20(PDF). zip]Part 1: Fundamentals[/url] - základní úvod do částí specifikace * [url=http://www. ecma-international. org/publications/files/ECMA-ST/Office%20Open%20XML%20Part%202%20(PDF). zip]Part 2: Open Packaging Convention[/url] - podrobný popis vnitřní struktury dokumentů, popis zabezpečení dokumentů * [url=http://www. ecma-international. org/publications/files/ECMA-ST/Office%20Open%20XML%20Part%203%20(PDF). zip]Part 3: Primer[/url] - v podstatě rozšířený a rozvedený dokument Part 1: Fundamentals, tento dokument je doporučován jako výchozí pro seznámení s OOXML * [url=http://www. ecma-international. org/publications/files/ECMA-ST/Office%20Open%20XML%20Part%204%20(PDF). zip]Part 4: Markup Language Reference[/url] - velmi podrobná referenční příručka ke všem elementům specifikace, včetně ukázek a použití * [url=http://www. ecma-international. org/publications/files/ECMA-ST/Office%20Open%20XML%20Part%205%20(PDF). zip]Part 5: Markup Compatibility and Extensibility[/url] - informace jak rozšiřovat stávající specifikaci.

Části specifikace

Specifikace je rozdělena do několika částí. * Open Packaging Conventions (OPC) - popisuje vnitřní strukturu souborů * WordProcessingML - popisuje XML pro textové procesory * SpreadsheetML - popisuje XML pro tabulkové kalkulátory * PresentationML - popisuje XML pro prezentace * DrawingML - popisuje XML pro grafické elementy dokumentů * Podpůrné „ML“ - sada XML pro velmi specifické úkoly, např. +more matematické vzorce * Custom XML - definuje způsob jak vkládat uživatelská XML do dokumentu a propojavat je s obsahem.

Open Packaging Conventions (OPC)

Popisuje vnitřní strukturu archívu ZIP, který obsahuje dokument. Základním prvkem jsou soubory s příponou . +morerels, které udržují informace o vztazích mezi ostatními soubory. Příkladem může být vztah mezi sešitem v tabulkovém kalkulátoru a listy, které sdružuje. Pomocí OPC lze vytvářet i vlastní formáty, protože se jedná o obecnou specifikaci. K obsahu dokumentu lze přistupovat dvěma způsoby - s využitím OPC nebo přes adresářovou strukturu archivu.

WordProcessingML

Struktura vychází ze schématu body - paragraph - run. Tělo dokumentu je děleno na odstavce (text, obrázek, tabulka, …) a tyto části jsou dělené na tzv. +more runs. Zjednodušeně řečeno, run nastavuje formátování informace. Všechny textové informace, které se mají zobrazit uživateli, jsou umístěny vždy v elementu .

SpreadsheetML

Dokument tabulkového kalkulátoru se nazývá sešit (workbook) a skládá se s listů (sheet). Sešit i listy jsou umístěny v samostatných souborech, typicky workbook. +morexml, sheet1. xml, sheet2. xml, … Velmi specifické je ukládání textové informace v tabulkách. Existují dva způsoby - inlinestring nebo sharedstring. Inlinestring ukládá informace přímo v buňce tabulky. Tento způsob je v podstatě identický s html. Sharedstring ukládá texty do samostatného souboru, který je sdílený pro všechny listy a každý textový obsah buňky je v něm unikátní. Buňky se pak odkazují na hodnotu v tomto seznamu.

PresentationML

Obsah dokumentu s prezentací se dělí na snímky (slide), jejich obsah a animace. Každý snímek je opět uložen v samostatném XML souboru. To samé platí např. i pro poznámky ke snímkům.

DrawingML

DrawingML popisuje vektorovou grafiku, která se používá v rámci WordProcessingML, SpreadsheetML a PresentationML. Kromě DrawingML se pro vektorovou grafiku používá i VML, které má být nahrazeno právě DrawingML.

Používané přípony souborů

docx - dokumenty pro textové procesory * xlsx - dokumenty pro tabulkové kalkulátory * pptx - dokumenty s prezentací

ISO/IEC 29500

Během standardizace u ISO došlo k několika podstatným změnám ve standardu ECMA-376 na základě požadavků národních standardizačních institutů. V České republice se problematikou standardizace dokumentů zabývá ÚNMZ. +more Nejdůležitější přijatou změnou bylo vydefinování dvou typů dokumentů, podobně jako u XHTML, Strict a Transitional. Verze Strict neobsahuje žádné elementy, které jsou zatížené zpětnou kompatibilitou směrem ke starším dokumentovým formátům. Verze Transitional pak může obsahovat elementy, které jsou pro zpětnou kompatibilitu nezbytné. Tyto verze byly schváleny jako samostatné části standardu ISO pod číslem ISO/IEC 29500. Ve standardu se přímo uvádí, že verze Transitional slouží jen pro přechodné období a nedoporučuje se používat pro vytváření dalších nových dokumentů.

Kritika a kontroverze

Formát Office Open XML byl schválen v režimu fast-track Joint Technical Committee 1 ISO a IEC v dubnu 2008, což vyvolalo vlnu kontroverze a rozhořčení s diskuzí o specifikaci a standardizačním procesua jeho neregulérností.

Společnost IBM (která podporovala OpenDocument formát, tj. ODF) opustila standardizační komisi s tím, že dovoluje dominantním společnostem, jako je společnost Microsoft, mít neoprávněný vliv. +more Společnost Microsoft byla ve zmíněném článku obviněna z kooptace procesu normalizace tím, že se opřela o jisté země, aby zajistila, že bude mít k dispozici dostatek hlasů v ISO pro schválení OOXML, ačkoli neuvádí přesně, kdo obvinil společnost Microsoft.

Ve stručnosti lze konstatovat, že firma Microsoft využila svého vlivu na to, aby schválení standardu OOXML proběhlo v režimu schvalování, který pro takovou situaci nebyl určen. Tento režim nebyl určen pro schválení proprietárního standardu jedné firmy, nýbrž pro rychlé schválení nějakého široce přijímaného nekontroverzního de-fakto standardu. +more Tím Microsoft dosáhl stavu, kdy se sice ke všem připomínkám musel vyjádřit, ale nemusel na ně nijak reagovat, ani je vypořádat a ani zapracovat do předkládaného standardu a po jeho vyjádření byl OOXML automaticky schválen (bez možnosti jakéhokoliv odvolání či nápravného opatření).

Richard Stallman z Free Software Foundation oznámil, že „Společnost Microsoft nabízí bezplatnou patentovou licenci pro OOXML za podmínek, které neumožňují bezplatné implementace“.

Dále bylo předkladatelům nového návrh vyčítáno, že předlohou pro tento formát byl původně uzavřený formát pro dokumenty kancelářské balíku Microsoft Office. Obavy byly zejména ohledně technologické neutrality navrženého standardu. +more Jako vedlejším efekt potom byla možná nekompatibilita některých atributů (např. formátu data a času či barevných kódů) s již existujícími standardy ISO.

Mezi specifické odlišnosti jednotlivých formátu patří zejména tyto oblasti:

* Používání DrawingML a VML místo SVG, které je doporučováno W3C. * Používání Office Math ML místo MathML, které je doporučováno W3C. +more * Používání makro-jazyka, který však není ve standardu OOXML definován a je ponechán čistě na aplikaci. * Příliš velká délka specifikace standardu - OOXML je dlouhý 6546 stran, zatímco specifikace ODF má pouze 867 stran.

Reference

Související články

Open Document Format (celým jménem OASIS Open Document Format for Office Applications, dále jen ODF) - je konkurenční otevřený formát dokumentů, za kterým stojí širší portfolio dalších výrobců software. Byl vyvinut skupinou „Open Office XML“ v rámci organizace OASIS. +more Formát je rovněž postaven na bázi XML. Jako standard ISO/IEC 26300 byl přijat první a odpočátku je zcela otevřený.

Externí odkazy

[url=http://www. root. +morecz/clanky/prisel-mi-docx-jak-ho-mam-otevrit/]Přišel mi docx, jak ho mám otevřít . [/url] * [url=https://web. archive. org/web/20090210211719/http://openxmldeveloper. org/]Server o Office Open XML[/url] * [url=http://blogs. msdn. com/brian_jones/]Blog Briana Jonese o Office Open XML[/url] * [url=http://www. ecma-international. org/]Stránky Ecma International[/url] * [url=http://www. groklaw. net/article. php. story=2007011720521698]Analýza problémů návrhu standardu OOXML[/url] * [url=https://web. archive. org/web/20070927090521/http://www. cni. cz/diskuse/isoiec29500. nsf]Připomínky ČNI ke standardizaci OOXML[/url] * [url=http://blogs. msdn. com/vyvojari/archive/tags/Open+XML/default. aspx]Ukázky pro vývojáře v češtině[/url] * [url=https://github. com/PHPOffice/PHPExcel]Knihovna pro generování SpreadsheetML pomocí PHP[/url] * [url=http://www. codeplex. com/ExcelPackage]Knihovna pro generování SpreadsheetML pomocí . NET[/url] * [url=http://www. codeplex. com/dbe]Editor vazeb formulářových polí na Custom XML[/url] * [url=http://www. microsoft. com/downloads/details. aspx. FamilyID=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&displaylang=en]Open XML Format SDK[/url] * [url=https://en. wikipedia. org/wiki/Standardization_of_Office_Open_XML]Standardization of Office Open XML[/url].

Kategorie:Souborové formáty Kategorie:XML Kategorie:Otevřené formáty

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top