Generated by DeepSeek V3.2| Open Packaging Convention | |
|---|---|
| Name | Open Packaging Convention |
| Extension | .docx, .xlsx, .pptx, .vsdx, .3mf, .dwfx, others |
| Mime | application/vnd.openxmlformats-officedocument.* |
| Uniform type | org.openxmlformats.* |
| Developer | Microsoft, Ecma International, ISO/IEC |
| Released | 0 2006 |
| Genre | Container format, File format |
| Container for | XML, binary parts, metadata |
| Extended from | ZIP (file format) |
| Standard | ECMA-376, ISO/IEC 29500 |
Open Packaging Convention. The Open Packaging Convention is a container format specification that defines a structured method for storing multiple files and resources within a single ZIP (file format) archive. Developed primarily by Microsoft, it forms the foundational packaging technology for modern Office Open XML document formats like .docx and .xlsx. The specification was standardized by both Ecma International as ECMA-376 and by the International Organization for Standardization as ISO/IEC 29500.
The convention specifies a model for organizing digital content and relationships within a ZIP (file format) package, enabling software to navigate complex documents efficiently. A core principle is the separation of content, stored typically as XML parts, from resources like images and fonts, with a dedicated XML file defining the relationships between all components. This architecture facilitates features such as digital signatures, core properties metadata, and thumbnail generation. The design promotes interoperability and data recovery, as individual parts within the corrupted archive can often be extracted and repaired independently.
Technically, a package is a ZIP (file format) archive adhering to specific constraints, where the internal directory structure and file naming follow prescribed rules. Key mandatory components include a `[Content_Types].xml` part, which maps file extensions to MIME types for all parts within the package. Relationship files (`.rels`), also XML-based, are stored in a `_rels` folder and define associations between a source part and its target parts, such as connecting a slide to an embedded video. The specification also details standards for Core Properties Part, Digital Signature Origin Part, and the handling of binary large objects to ensure consistent processing across different platforms and applications.
The Open Packaging Convention is intrinsically linked to the Office Open XML standards, which build upon it to define specific formats for word processing, spreadsheets, and presentations. It shares conceptual similarities with other container-based formats like the OpenDocument standard, used by Apache OpenOffice and LibreOffice, though their technical implementations differ. The convention also influenced the packaging scheme for the 3D Manufacturing Format (3MF) consortium, demonstrating its utility beyond office documents. Its reliance on ZIP (file format) and XML ensures compatibility with a vast ecosystem of existing tools and libraries, from Java's java.util.zip package to the System.IO.Packaging namespace in the .NET Framework.
The primary application is within the Microsoft Office suite, where it underpins the default save formats for Microsoft Word, Microsoft Excel, and Microsoft PowerPoint since the Microsoft Office 2007 release. Beyond Microsoft, the convention is used in AutoCAD for the .dwfx design web format and in Bentley Systems software for i-model containers. The 3MF Consortium, whose members include Microsoft, Autodesk, HP, and Dassault Systèmes, adopted it for the 3D Manufacturing Format to improve additive manufacturing workflows. It also serves as the basis for packaging extensions in Visual Studio for VSIX installer files and is utilized in the EPUB standard for digital publishing.
The reference implementation is provided by Microsoft within the Windows SDK, specifically in the System.IO.Packaging API for the .NET Framework. For Java platforms, the Apache POI project offers comprehensive support for reading and writing packages conforming to the specification. The OpenXML SDK, an open-source toolkit from Microsoft, provides strongly-typed .NET classes to manipulate packages and their contents. Cross-platform support is available through libraries like Python's openpyxl and PHP's PhpOffice suite. Other notable implementations include the LibreOffice engine, which can parse and generate packages, and the ECMA-376 reference schemas maintained by Ecma International.
Category:Computer file formats Category:Document file formats Category:XML-based standards Category:Microsoft standards