Technik fortgeschritten

OOXML (Office Open XML)

OOXML (Office Open XML) ist ein XML-basiertes Dateiformat für Bürodokumente, das von Microsoft entwickelt wurde und seit 2008 als ISO/IEC 29500 standardisiert ist. Es wird in den Dateiformaten .docx, .xlsx und .pptx verwendet.

Ausführliche Erklärung

Office Open XML ist ein komprimiertes Archivformat, das auf offenen Standards wie XML und ZIP basiert. Jede OOXML-Datei ist im Kern ein ZIP-Container, der mehrere XML-Dateien und eingebettete Medien enthält. Microsoft führte OOXML mit Office 2007 als Nachfolger der proprietären Binärformate ein, um die Interoperabilität zu verbessern und die Dateigröße zu reduzieren. Seit 2008 ist OOXML als ISO/IEC 29500 international standardisiert.

Für KMU ist OOXML vor allem deshalb relevant, weil es das De-facto-Standardformat im geschäftlichen Dokumentenaustausch darstellt. Die meisten Geschäftspartner:innen erwarten Office-Dateien in diesem Format, da Microsoft Office im Unternehmensumfeld nach wie vor dominiert. Der ISO-Standard bietet dabei theoretisch Herstellerunabhängigkeit: Auch alternative Office-Lösungen wie LibreOffice oder Google Workspace können OOXML-Dateien lesen und schreiben, allerdings mit unterschiedlichem Erfolg bei komplexen Formatierungen.

Ein wichtiger technischer Aspekt: Es existieren zwei Varianten von OOXML – "Transitional" und "Strict". Microsoft Office speichert standardmäßig in der Transitional-Variante, die Kompatibilität mit älteren Formaten gewährleistet. Die Strict-Variante entspricht vollständig dem ISO-Standard, wird aber in der Praxis kaum verwendet. Diese Fragmentierung kann bei der Zusammenarbeit zwischen verschiedenen Softwarelösungen zu Problemen führen.

Im Vergleich zum konkurrierenden offenen Standard ODF (Open Document Format, ISO/IEC 26300) ist OOXML deutlich umfangreicher spezifiziert – der Standard umfasst etwa 7.000 Seiten. Kritiker bemängeln die Komplexität und plattformspezifische Elemente, die eine vollständige Implementierung durch Drittanbieter erschweren. Dennoch bleibt OOXML aufgrund der weiten Verbreitung von Microsoft Office für die meisten KMU die praktikabelste Wahl für den Dokumentenaustausch.

Praxisbeispiel

Eine 45-köpfige Steuerberatungskanzlei in Graz arbeitet intern mit LibreOffice im ODF-Format, um Lizenzkosten zu sparen. Für den Austausch mit Mandanten und Behörden exportiert sie Dokumente jedoch in .docx, da viele Empfänger Microsoft Office verwenden. Bei komplexen Formatvorlagen kommt es gelegentlich zu Darstellungsabweichungen, weshalb finale Versionen als PDF versendet werden.

Code-Beispiel

import zipfile
import xml.etree.ElementTree as ET

# OOXML-Datei ist ein ZIP-Archiv
with zipfile.ZipFile('dokument.docx', 'r') as docx:
    # Haupttext in word/document.xml
    xml_content = docx.read('word/document.xml')
    
    # XML parsen
    root = ET.fromstring(xml_content)
    
    # Namespaces für Word-XML
    ns = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
    
    # Alle Textabsätze extrahieren
    for para in root.findall('.//w:p', ns):
        texts = para.findall('.//w:t', ns)
        print(''.join([t.text for t in texts if t.text]))

Quellen

Zuletzt aktualisiert: 3. August 2026