# Office Open XML

Office Open XML (OOXML) is een open bestandsformaat voor Office-documenten. De standaard werd gestandaardiseerd door Ecma International en ISO/IEC en is gebaseerd op een formaat dat door Microsoft werd ontwikkeld voor Office 12 en tijdens die ontwikkeling is overgedragen aan Ecma. Ecma heeft het formaat vervolgens gestandaardiseerd tot de standaard Ecma 376 - Office Open XML File Formats en bij ISO/IEC ingediend. ISO/IEC heeft het formaat vervolgens gestandaardiseerd als ISO/IEC 29500:2008, Information technology - Document description and processing languages - Office Open XML file formats.
Het bestandsformaat wordt gebruikt als standaardformaat vanaf Microsoft Office 2007. Het Office Open XML-formaat is zodanig ontworpen dat ook oude Microsoft Office-documenten met een binair formaat eenvoudig kunnen worden geopend en geconverteerd naar het nieuwe XML-formaat. Oude versies van Office (Office 2003 en ouder) kunnen niet direct overweg met het nieuwe bestandsformaat. Microsoft ontwikkelde daarvoor een gratis te downloaden compatibiliteitspakket dat de omzetting mogelijk maakt. In latere versies is deze conversiefunctie ingebouwd.
Het Office Open XML-bestandsformaat gebruikt het samengesteld bestandsformaat van OPC, dit is een zipbestand met daarin XML-documenten, waarin de informatie en presentatie van de informatie worden opgeslagen. Verder kunnen in het OPC-bestand ook andere onderdelen van het Office-document, zoals plaatjes, worden opgeslagen in aparte deelbestanden. Dankzij de ZIP-compressie zijn de resulterende bestanden, ondanks het gebruik van XML, kleiner dan de oude binaire Office-bestanden.

## Standaardisering

Standaardisering van bestandsformaten hebben belang voor de overheid. Van een niet gestandaardiseerd formaat, zoals dat van Office 2000, kan men niet 100% zeker zijn dat het binnen 30 jaar nog ondersteund wordt. Documenten gemaakt met dat formaat hebben dan geen onbeperkte "houdbaarheid".
De specificatie van het Office Open XML-bestandsformaat is door Microsoft als een open standaard vrijgegeven. De achtergrond voor het vrijgeven van de specificatie is de ontwikkeling in de markt waarbij diverse overheden hebben vastgesteld dat ze voor het vastleggen van informatie uitsluitend gebruik wensen te maken van een open bestandsformaat, in casu ODF. Met name de Amerikaanse staat Massachusetts en de Belgische overheid hebben hierbij een voortrekkersrol gespeeld. Het feit dat de EU een advies uitbracht om Office-documentformaten te standaardiseren gold als een directe aanleiding voor het standaardiseren van allereerst het OpenDocument-bestandsformaat en vervolgens ook de standaardisatie van Office Open XML.
Microsoft heeft de specificaties van hun Office-documentformaat gepland voor Microsoft Office 2007 vrijgegeven om te voorkomen dat, door deze eis van toepassing van een open standaard, de Microsoft-applicaties buiten spel zouden komen te staan. Microsoft heeft de specificaties aan Ecma Internationaal, een internationaal industriestandaardencomité, overgedragen voor standaardisatie met als doel om daarna een versnelde procedure te kunnen starten om het Office 2007-formaat ook als ISO-standaard vastgelegd te zien. Omdat Ecma International een vertrouwde partner is van ISO, kon de standaard onder het fasttrack-regime versneld ook als ISO-standaard goedgekeurd worden. De Fasttrack-optie is ooit in het leven geroepen om de facto industriestandaarden versneld als officiële ISO-standaard te formaliseren.
De fasttrack-procedure is in februari 2008 afgesloten met een ballotresolutiebijeenkomst (Ballot Resolution Meeting, BRM) waarin de ISO-landenorganisaties met Ecma tot overeenstemming probeerden te komen over aanpassingen aan de voorgestelde standaard om te komen tot een officiële ISO-standaard. De ISO-leden hebben een groot aantal reacties gegeven met daarbij vragen en voorgestelde aanpassingen. Na de definitieve stemming is door de nationale ISO/IEC JCT1-leden het concept van de ISO/IEC 29500-standaard goedgekeurd. De definitieve tekst van de ISO/IEC 29500:2008 standaard bestaat uit 4 delen (plus elektronische aanvullingen).

### Ecma-376 Office Open XML

Het Office Open XML-formaat is in december 2006 als Ecma-376 Office-Open XML-standaard door Ecma International aangenomen.
Alle standaarden die door Ecma worden uitgebracht zijn gratis te gebruiken open standaarden en behoeven als zodanig geen licentie om toegepast te worden. Bovendien vereist Ecma-standaardisering van de bij de ontwikkeling betrokken leden dat zij hun patentrechten op het formaat beschikbaar stellen aan iedereen, aan de hand van de Ecma-gedragsregels rondom patenten. Effectief is dit een belofte met juridische betekenis om geen patentrechten toe te passen tegen alle gebruikers van het formaat, mits deze gebruikers zelf geen patentrechten op het formaat claimen tegen Microsoft. Door het creëren van deze open standaard en het vrijgeven van de patentrechten kan iedereen effectief het Office Open XML-formaat toepassen ongeacht hun eigen licentievoorwaarden. Dat maakt Office Open XML bijvoorbeeld ook geschikt voor opensourceprogrammatuur.

### ISO-standaardisatietraject

Ecma International heeft de Office Open XML-standaard op 5 januari 2007 aangemeld bij ISO voor een fasttrack-standaardisatietraject.
Het ISO Fasttrack-standaardisatietraject beslaat diverse fasen. De eerste fase is een review van een maand met als doel om interne inconsistenties te signaleren. Voor Ecma-376 Office Open XML liep die periode initieel tot 5 februari 2007. Twintig landenorganisaties (leden van de ISO Joint Technical Committee 1 (JTC)-commissie) hebben commentaar geleverd op de conceptstandaard. Daarvan hebben de meeste inconsistenties in de standaard vastgesteld. Ecma international heeft een reactie gegeven met verklaringen ten aanzien van de bevindingen van de ISO-landenorganisaties. De 'fasttrack'-standaardisatie wordt dan zonder aanpassingen verdergezet.
Op 2 september 2007 vond de eerste stemming over de voorgestelde standaard in de JTC-commissie plaats. Daarbij bleek onvoldoende steun voor het goedkeuren van ECMA 376 Office Open XML. Bij de inhoudelijke beoordeling door de leden werden circa 1000 verschillende punten van commentaar aangeleverd aan ECMA.
In de laatste week van maart 2008 werden de ECMA-reacties en oplossingen voor het eerder geleverde commentaar inhoudelijk behandeld. Deze inhoudelijke behandeling leidde in de afrondende stemming tot een positief oordeel.
Het NEN had al in september 2007 besloten een neutrale stem uit te brengen. De Nederlandse commissie bleek niet in staat een duidelijk voor of tegen uit te spreken. Volgens enkele deelnemers is het goed mogelijk om de Office Open XML-standaard positief te beoordelen en te werken aan convergentie met ODF. In de periode tot de afrondende stemprocedure constateerde het NEN onvoldoende aanleiding om de stem te wijzigen in een goed- of afkeuring.

### Discussie over het ISO-besluitvormingsproces

Aan het besluitvormingsproces van de nationale organen kan elk bedrijf of instantie tegen betaling deelnemen. In dit geval zijn dat de makers en gebruikers van kantoorsoftware. De belangen zijn groot, het gaat om een miljardenmarkt. Dit alles werkt het inroepen van niet direct belanghebbenden bij de stemming in de hand. In verschillende landen schreven zich veel partnerbedrijven van bijvoorbeeld Microsoft zich in maar ook concurrenten zoals IBM en Sun die achter het concurrerende ODF-formaat staan werden vaak lid. In enkele landen nam daardoor het aantal comitéleden enorm toe.
Ook de afrondende BRM-bijeenkomst was niet vrij van problemen. Het bleek dat de week die was uitgetrokken voor de inhoudelijke behandeling van de Ecma-reacties op het commentaar te kort was om alle wijzigingsvoorstellen plenair te behandelen. Uiteindelijk zijn slechts enkele honderden van de ruim 1027 verschillende reacties daadwerkelijk inhoudelijk beoordeeld.
De stemming werd door Ecma als een succes beschouwd, aangezien uiteindelijk een positief resultaat werd bereikt. 61 leden van de in totaal 71 stemmende ISO/IEC JCT1-leden en 24 van de 32 participerende leden stemden voor acceptatie van IS 29500.
Dat resultaat werd niet door iedereen positief beoordeeld, aangezien ook binnen de vele stemmingen van de landenorganisaties verschillende ongerijmdheden plaatsvonden. Zo oordeelde de Noorse vertegenwoordiger tijdens de BRM positief over de standaard, terwijl driekwart van een Noors adviescomité negatief oordeelden. Dat leidde zelfs tot een protest van het Noorse adviescomité tegen de uiteindelijke positieve stem van het Noorse standaardencomité. De gehele gang van zaken wordt meegenomen in nieuw onderzoek van de EU ingediend door de ECIS, een organisatie waarin de concurrenten van Microsoft zich hebben verenigd.
Verschillende landencomités (India, Brazilië, Venezuela, Zuid-Afrika) hebben bezwaar gemaakt tegen de uitkomsten van de stemming. In het kort kwam het commentaar neer op de volgende inhoudelijke onderdelen:
* de definitieve tekst van de standaard is nog niet gepubliceerd, dus er kan nooit voor gestemd zijn.
* ISO streeft eenduidigheid na, maar van de 32 stemgerechtigde leden hebben maar 10 een ja of nee laten horen.
* de standaard is nog onvoldoende volwassen, is de ISO niet waardig.
Het ISO-comité heeft het bezwaar verworpen, waarmee de standaard is geformaliseerd.
Na de formele acceptatie moet de standaard verder ontwikkeld worden, waarbij een groot aantal knelpunten wordt bediscussieerd. Onder meer wordt overwogen om buiten de standaardprocedure om enkele fouten uit de standaard weg te nemen. De BRM heeft blijkbaar ook 'blunders' begaan, zoals verwoord door OOXML-beheerder Alex Brown (zie en de analyse van Pamela Jones)

### Discussie over de standaard

De standaardisatieprocedure van Open XML is onderhevig aan een stevige discussie in de ISO-commissies en online. Hierbij worden zowel enkele voordelen als bezwaren genoemd op de Office Open XML-standaard.
Enkele van de genoemde voordelen van de Office Open XML-standaard zijn de volgende:
* ondersteuning voor de volledige feature-set van het Microsoft Office-platform. Oude documenten kunnen worden gemigreerd waarbij de lay-out zo trouw mogelijk wordt bewaard.
* ondersteuning voor accessibility-opties. Deze opties maken de documenten beter te gebruiken door mensen met een lichamelijk gebrek.
* ondersteuning voor custom XML. Hierbij kan bedrijfsdata direct worden geïntegreerd in het document, waarbij zowel de data als het document gevalideerd kan worden
* een uitgebreide ondersteuning voor spreadsheets, onder andere met ondersteuning voor formules.
Naast voordelen zijn er vele punten van bezwaar geopperd door tegenstanders van de standaardisering.
* ondanks de patentafspraken is de standaard een Microsoft-standaard, alleen Microsoft is in staat aanpassingen binnen de standaard door te voeren (de volledige rechten op de Office Open XML-standaarden liggen overigens bij standaardisatieorganisaties Ecma International en ISO/IEC die de standaarden hebben opgesteld en beheren).
* bugs in Microsoft-applicaties worden in een bestandsformaat geaccepteerd: het jaar 1900 is in ECMA 376 Office Open XML een schrikkeljaar, zodat een bug ontstaan in Lotus 1-2-3 nu niet opgelost hoeft te worden in een conversie.
* de standaard maakt onvoldoende gebruik van andere open (W3C) standaarden en maakt gebruik van interne Microsoft-standaarden die niet openbaar zijn.
* de als ISO-standaard voorgestelde specificatie vertoont inconsistenties met andere ISO-standaarden (bijvoorbeeld voor landencoderingen en voor vectorafbeeldingen).
* de omvang van de standaard (ruim 6000 pagina's) maakt de standaard te moeilijk om te implementeren.
Verschillende bezwaren zijn tijdens de ISO-standaardisatie ondervangen en hebben tot aanpassingen door Ecma geleid.

## Het bestandformaat en structuur

Elk Office OpenXML-bestand bestaat uit een zipbestand met daarin een aantal specifieke XML-bestanden. Naast deze XML-bestanden kunnen in het zipbestand ook zogenaamde 'embedded' bestanden voorkomen, zoals afbeeldingen of andere mediabestanden. Het voordeel hiervan is dat deze in native vorm opgeslagen kunnen worden. De structuur van de ZIP-container is onderdeel van de Open XML-standaard, onder de noemer Open Packaging Convention. In theorie kun je elk willekeurig bestandstype in een Office Open XML-bestand inbedden, iets wat eveneens mogelijk is in het Open Document Format-bestandsformaat.
In de ZIP-container vindt men drie belangrijke onderdelen. Allereerst staat in de root een XML-bestand genaamd [Content_Types].xml. Dit bestand bevat een catalogus van de onderdelen in de ZIP en specificeert het type content dat in de onderdelen gevonden kan worden. Het /rels/.rels-bestand bevat de relaties tussen onderdelen op het hoogste niveau. Er zijn meestal meerdere bestanden met een .rels-extensie, altijd bevatten deze relaties tussen verschillende onderdelen. Er is een specifiek onderdeel, genaamd het start-part, dat specifieke content bevat voor elk van de drie mark-uptalen. Dit start-part is de 'root' van de hiërarchie en wordt gebruikt als je door een Open XML-document navigeert met programmacode. De namen en locaties van onderdelen is veelal onbelangrijk. Enkel de .rels-bestanden en de [Content_Types].xml zijn altijd hetzelfde. De overige delen worden gevonden aan de hand van relaties gedefinieerd in de .rels-bestanden.

## Document-opmaaktalen

Office OpenXML bevat drie XML-opmaaktalen voor het creëren van de drie belangrijke XML Office-documenttypes. Dat zijn:
* WordProcessingML (voor tekstverwerking)
* SpreadsheetML (voor digitale rekenbladen)
* PresentationML (voor digitale presentaties)
Daarnaast bevat OOXML nog een aantal ondersteunende XML-opmaaktalen. De belangrijkste zijn:
* DrawingML (voor tekeningen en figuren)
* VML (voor vectorafbeeldingen)

## Ondersteuning van OOXML standaarden door MS Office

Van de drie onderstaande bestandsindelingen (ECMA 376, ISO 29500 Transitional of Strict) werd enkel ISO 29500 strict ISO geaccepteerd als open standaard. Transitional was een overgangsformaat. In de MS Office-versies sinds 2007 zijn de ondersteuning voor Transitional en Strict behoorlijk verschillend. Sinds Office 2007 is in alle versies lees- en schrijf-ondersteuning aanwezig voor Transitional, maar niet voor ECMA of ISO 29500 Strict. MS Office 2007 kan Strict noch lezen noch schrijven. MS Office 2010 is alleen in staat om Strict te lezen, terwijl Microsoft Office 2013 ISO/IEC 29500 Strict zowel kan lezen als schrijven. MS Office 2013 kan ISO/IEC 29500 Strict dan wel lezen, maar dat gebeurt standaard niet, maar moet handmatig ingesteld worden door gebruiker of systeembeheerder. Een meer uitgebreid artikel welke versie van MS Office welke versie van de standaard ondersteunt, is te lezen in de e-Library van de Europese Commissie. Het artikel van Markus Feilner 'Complex singularity versus openness' beschrijft hoe de drie verschillende vormen van Office Open XML (OOXML) in elkaar steken en wat de verschillen zijn. Het artikel beschrijft tevens waarom het problematisch is dat het standaard ingestelde opslagformaat bij marktleider Microsoft niet aan de standaard voldoet en acceptatie en algemeen gebruik van de ISO-standaard in de markt belemmert.