| Office Open XML | |
|---|---|
| Dateiendung | .docx, .xlsx, .pptx |
| MIME-Type | — [1] |
| Entwickelt von | Microsoft, Ecma International[2] |
| Art | Office-Anwendungen |
| Erweitert von | XML, DOC, XLS, PPT |
| Standard(s): | Ecma 376,
ISO/IEC 29500-1:2008, ISO/IEC 29500-2:2008, ISO/IEC 29500-3:2008, ISO/IEC 29500-4:2008 |
Office Open XML (ECMA-376 Office Open XML File Formats bzw. ISO/IEC 29500:2008 Information technology - Office Open XML formats) ist ein offener Standard für XML-basierte Dateiformate zur Speicherung von Bürodokumenten, der den Daten- und Dateienaustausch zwischen verschiedenen Büroanwendungspaketen ermöglichen soll.[3][4]
Die Formatspezifikation wurde Ecma International von Microsoft zur Standardisierung vorgelegt. Diese erfolgte am 7. Dezember 2006 als Ecma-Standard Ecma 376.
Die Veröffentlichung als ISO/IEC-Norm 29500:2008 erfolgte am 19. November 2008.[5]
Inhaltsverzeichnis |
Durch die große Verbreitung von Microsoft Office haben sich die dazugehörigen Dateiformate (DOC, XLS, PPT, etc.) als ein De-facto-Standard für den Dokumentenaustausch etabliert.
Der Aufbau dieser Office-Formate war nicht offen dokumentiert, sondern musste bei Microsoft lizenziert werden. Da die Kosten und vor allem die Lizenzbedingungen nicht für alle Anbieter akzeptabel sind, waren manche Konkurrenten (speziell OpenSource-Projekte) gezwungen, den Aufbau der Dateiformate durch Reverse Engineering herauszufinden. Aufgrund der dem Reverse Engineering anhaftenden Probleme und des Umstandes, dass die Dateiformate eng mit der inneren Arbeitsweise der Microsoft Office-Anwendungen verknüpft sind, kann es zu fehlerhafter Erzeugung und Darstellung der Dateiinhalte durch Konkurrenz-Anwendungen kommen. Mittlerweile hat Microsoft die Spezifikation der Formate veröffentlicht.[6]
Um das automatisierte Erstellen und Verarbeiten von Microsoft Office-Tabellenkalkulationsdokumenten zu vereinfachen, wurde mit Microsoft Excel 2002 ein XML-basiertes Dateiformat eingeführt[7] (XML Spreadsheet[8]), das allerdings nur einen Teil der Excel-Funktionalität abspeichern kann.
Mit Microsoft Office 2003 wurde die XML-Unterstützung ausgeweitet und neue XML-basierte Dateiformate eingeführt, vor allem in Microsoft Word.[9]
Für Microsoft Office 2007 wurden die XML-basierten Dateiformate überarbeitet und zum neuen Standarddateiformat bestimmt. Dieses Dateiformat bildet die Basis von Office Open XML.
Das ebenfalls auf XML basierende OpenDocument (ODF) wird von Microsoft abgelehnt, da es unter anderem zu sehr auf dem Dateiformat – und damit der Arbeitsweise und dem Funktionsumfang – von OpenOffice.org basiere und nicht geeignet sei, alle bereits existierenden Microsoft Office-Dokumente abzubilden.[10]
Verfechter von ODF halten dem entgegen, dass ODF durch proprietäre, inkompatible Erweiterungen alle Eigenschaften von Microsoft-Office-Dokumenten abbilden könne.[11]
Seit einiger Zeit wird – vor allem von Regierungen (beispielsweise des US Bundesstaates Massachusetts) oder der EU – gefordert, dass zukünftig nur noch offen dokumentierte, herstellerunabhängige, standardisierte Dateiformate benutzt werden sollen, um Lock-in-Effekte zu vermeiden und um die Interoperabilität und den langfristigen Zugriff auf Dateiinhalte sicherzustellen. Aufgrund dieser Forderungen hat Microsoft das Microsoft Office 2007-Dateiformat der Ecma International zur Standardisierung vorgelegt. Die Standardisierung erfolgt dort im Rahmen des technischen Komitees 45 (TC45).
Am Standardisierungsprozess sind Apple, Barclays Capital, BP, die British Library, Essilor, Intel, die The United States Library of Congress, Microsoft, NextPage, Novell, Statoil ASA und Toshiba beteiligt.[12]
Office Open XML wurde am 7. Dezember 2006 von der Ecma International-Hauptversammlung als Ecma Standard 376 genehmigt.[13]
Im Dezember 2006 wurde Office Open XML bei der ISO als ISO/IEC CD 29500 zur Standardisierung im Schnellverfahren (JTC 1 Fast Track Process[14]) eingereicht. In einer Abstimmung im September 2007 konnte es nicht die nötige Zustimmung erreichen, um als ISO-Standard akzeptiert zu werden.[15]
Nach einer im Februar 2008 anberaumten Sitzung – bei der die Antworten der Ecma International zu den zahlreichen Kommentaren, die bei der Stimmabgabe im September 2007 eingereicht worden sind, bewertet wurden – bestand für stimmberechtige ISO-Mitglieder bis Ende März 2008 die Möglichkeit, ihre ursprünglich abgegebene Stimme zu ändern.
Wie die ISO am 2. April 2008 bekannt gab, hat der Standardentwurf die notwendige Stimmenmehrheit erhalten und wurde zunächst als ISO-Standard DIS 29500 akzeptiert. Die nationalen Standardisierungsorganisationen von Südafrika (SABS), Brasilien (ABNT), Indien und Venezuela haben jedoch innerhalb der vorgesehenen Frist Einsprüche gegen die Veröffentlichung von ISO 29500 als Standard erhoben. Eine Entscheidung der zuständigen Gremien über die Einsprüche wurde für Ende Juni 2008 angekündigt, bis dahin wurde die Standardisierung bzw. Veröffentlichung suspendiert.[16] Am 15. August 2008 gab die ISO bekannt, dass die Einsprüche der nationalen Standardisierungsorganisationen zurückgewiesen wurden und der Standard nun zur Veröffentlichung freigegeben ist.[17]
Die Veröffentlichung als ISO/IEC-Norm 29500:2008 erfolgte am 19. November 2008 in vier Teilen:[18]
Die vier Dokumente können als öffentlich verfügbarer Standard kostenlos bei ISO heruntergeladen werden.[19]
Laut dem FFII, der auch die <NO>OOXML-Kampagne betreibt, soll es zu Unregelmäßigkeiten beim Standardisierungsprozeß gekommen sein.[20] Er warf Microsoft vor, die Standardisierungsgremien diverser Länder mit Strohmännern aufzufüllen.[21]
In einem offenen Brief haben ISO/IEC SC 34-Mitglieder während des Standardisierungsverfahrens gegen sie erhobene persönlichen Attacken missbilligt.[22]
Wie alle Ecma International-Standards ist auch Office Open XML frei verfügbar und kopierbar.[23]
In einem covenant not to sue hat Microsoft erklärt, dass es unwiderruflich auf eine Durchsetzung aller für eine konforme Umsetzung der Office 2003 XML Reference Schemas-Spezifikation notwendigen Patente gegenüber Programmteilen, die diese Spezifikation implementieren, verzichtet.[24] Die Rechtsanwaltskanzlei Baker & McKenzie hat im Auftrag von Microsoft unter anderem den Inhalt und die Gültigkeit dieses covenants überprüft und in einer Studie[25] festgestellt, dass keine Lizenz benötigt wird, um Office Open XML einsetzen zu können.[26]
Des Weiteren hat Microsoft die Office 2003 XML Reference Schemas- und die Office Open XML 1.0 – Ecma-376-Spezifikation in die Microsoft Open Specification Promise (OSP) aufgenommen. In der OSP verspricht Microsoft auf die Durchsetzung von Patenten gegenüber Programmteilen, die die angeführten Spezifikationen implementieren, zu verzichten. Die OSP bezieht sich allerdings nur auf von Microsoft explizit angeführten Versionen der jeweiligen Spezifikationen.[27] Außerdem gilt dies nicht für eventuelle Patentansprüche Dritter.
Office Open XML besteht aus einer Spezifikation für ein Containerformat, den Open Packaging Conventions, und einer Reihe von XML-basierten Auszeichnungssprachen für die einzelnen Komponenten eines Büroanwendungspaketes. Office Open XML-Dokumente werden in Packages gespeichert, die den Open Packaging Conventions entsprechen. Ein Package ist eine ZIP-Datei, die alle Bestandteile (Parts und Items) eines Dokuments enthält.
Parts sind die einzelnen Bestandteile (Bausteine) des Inhalts des Dokuments (Text, Graphiken, Bilder, etc.), während Items beschreibende Metadaten sind, die festlegen, wie die einzelnen Bestandteile des Dokuments zusammengestellt und dargestellt werden sollen. Items können in Relationship items und Content-Type items unterteilt werden. Relationship items beschreiben wie die einzelnen Parts zusammenhängen, d. h. wie die einzelnen Bestandteile des Dokuments zusammengefügt werden müssen, während Content-Type items den Content-Type der einzelnen Bestandteile festlegen, d. h. wie die einzelnen Bestandteile dargestellt werden müssen. Jedes Office Open XML-Dokument besteht aus einem main part (Hauptbestandteil) und eventuell aus weiteren Bestandteilen, die vom main part über ein relationship item referenziert werden. Der Aufbau, Name und Pfad (innerhalb der ZIP-Datei) des main parts hängt vom Typ des Office Open XML-Dokuments (Textverarbeitungsdokument, Tabellenkalkulationsdokument, etc.) ab.
Die Auszeichnungssprachen sind
und eine Reihe von Hilfs-Auszeichnungssprachen für Custom XML Data Properties (zum Speichern von beliebigen XML in einem Package), Dateieigenschaften, mathematische Formeln und bibliographischen Hinweisen
Ein minimales Office Open XML- Textverarbeitungsdokument enthält im Wurzelverzeichnis der ZIP-Datei eine XML-Datei namens /[Content_Types].xml, sowie drei Verzeichnisse /_rels, /docProps und ein Verzeichnis mit den eigentlichen Dokumentdaten.
Office Open XML verwendet die XML-basierte Auszeichnungssprache Office MathML (OMML) zur Beschreibung mathematischer Formeln.
Das folgende Office MathML Beispiel beschreibt den Bruch: 
<m:oMathPara> <m:oMath> <m:f> <m:num><m:r> <m:t>π</m:t> </m:r></m:num> <m:den><m:r> <m:t>2</m:t> </m:r></m:den> </m:f> </m:oMath> </m:oMathPara>
Ein Metadaten-Beispiel (docProps/core.xml) nach dem Dublin Core-Standard:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <dc:title>Office Open XML</dc:title> <dc:subject>Aufbau des Dateiformats</dc:subject> <dc:creator>Wikipedia</dc:creator> <cp:keywords>Office Open XML, Metadaten, Dublin Core</cp:keywords> <dc:description>Office Open XML verwendet ISO 15836:2003</dc:description> <cp:lastModifiedBy>Wikipedia</cp:lastModifiedBy> <cp:revision>1</cp:revision> <dcterms:created xsi:type="dcterms:W3CDTF">2008-06-19T20:00:00Z</dcterms:created> <dcterms:modified xsi:type="dcterms:W3CDTF">2008-06-19T20:42:00Z</dcterms:modified> <cp:category>Dateiformat für Dokumente</cp:category> <cp:contentStatus>Final</cp:contentStatus> </cp:coreProperties>
Microsoft Office 2007 für Microsoft Windows und Microsoft Office 2008 für Mac OS X[28] unterstützen die Ecma-Version von OOXML, der ISO-Standard 29500 wird aber nicht vollständig unterstützt.[29] Eine vollständige Unterstützung des ISO-Standards ist erst für die kommende Version ("Office 14") und ein nicht näher spezifiziertes Service Pack für Office 2007 angekündigt.[30][31] Für ältere Microsoft Office-Versionen (ab Version 2000) bietet Microsoft einen „Compatibility Pack“ [32], der es ermöglicht, das Format zu lesen und zu schreiben.
Weitere Office-Pakete mit Office-Open-XML-Unterstützung sind Corel WordPerfect Office ab Version X4 (nur Import) [33], ThinkFree Office ab Version 3.5[34] und der OpenOffice.org-Fork NeoOffice für Mac OS X. OpenOffice.org ab Version 3.0 unterstützt den Import von OOXML-Dateien.[35]
Die Tabellenkalkulation Gnumeric[36] und die Textverarbeitung AbiWord[37] bieten Import- und (außer Abiword) auch Export-Funktionen.
Apple unterstützt Office Open XML-Dateien in der E-Mail-Applikation des iPhones [38], seinem Office-Produkt iWork ab Version ’08 und in TextEdit ab Mac OS X 10.5 (Leopard).
Im Juni 2008 wurde für OOXML ein SDK von Microsoft zur Verfügung gestellt. Es erlaubt die Bearbeitung, Anlage Prüfung und Modifizierung der Daten.[39] Das SDK1.0 benötigt .NET 3.0 und basiert auf WinFX.[40] Entgegen anderslautenden Meldungen wird für die Benutzung kein Officeprodukt benötigt.[41]
Office Open XML wird von zahlreichen Seiten kritisiert, unter anderem von den OpenDocument-Befürwortern IBM und Sun Microsystems und Mitgliedern der Open Source-Bewegung, die im GrokDoc-Wiki eine Liste von Einwänden gegen die Aufnahme von Office Open XML als ISO-Standard veröffentlicht haben.[42]
Kritisiert wird hierbei der Umfang der Spezifikation mit über 6.000 Seiten. Kritiker gehen davon aus, dass es für andere Softwarehersteller praktisch unmöglich sei, das Dateiformat korrekt und vollständig in ihren Anwendungen zu implementieren.[43][44][45]
Des Weiteren verwendet Office Open XML keine W3C-Empfehlungen wie MathML für die Formeldarstellung oder SVG für die Darstellung von Vektorgrafiken, sondern speichert diese Elemente in von Microsoft entwickelten Formaten. Kritiker gehen davon aus, dass nur Microsoft die Spezifikation in vollem Umfang umsetzen könne, während Konkurrenzprodukte nur Teilmengen implementieren können.[43]
Zudem soll die Norm einigen ISO-Normen widersprechen, beispielsweise der Norm für die Darstellung von Datum und Uhrzeit oder der Norm für die Abkürzung von Bezeichnungen von Sprachen.[46] Des Weiteren wird angeführt, dass Office Open XML als ganzes einer bestehenden ISO-Norm widersprechen könnte, nämlich der Norm ISO/IEC 26300:2006 (OpenDocument).[47]