Office Open XML (également connu sous le nom informel d' OOXML ) est un format de fichier compressé basé sur XML développé par Microsoft pour représenter des feuilles de calcul , des graphiques , des présentations et des documents de traitement de texte . Ecma International a normalisé la version initiale sous la forme ECMA-376. L'ISO et l'IEC ont normalisé les versions ultérieures sous la forme ISO/IEC 29500.
Microsoft Office 2010 fournit une prise en charge en lecture pour ECMA-376, une prise en charge complète pour ISO/IEC 29500 Transitional et une prise en charge en lecture pour ISO/IEC 29500 Strict. Microsoft Office 2013 et versions ultérieures prennent entièrement en charge ISO/IEC 29500 Strict, mais ne l'utilisez pas comme format de fichier par défaut en raison de problèmes de compatibilité ascendante.
Arrière-plan
En 2000, Microsoft a publié une première version d'un format XML pour Microsoft Excel, qui a été intégré à Office XP. En 2002, un nouveau format de fichier pour Microsoft Word a suivi. Les formats Excel et Word, connus sous le nom de formats XML Microsoft Office , ont ensuite été intégrés à la version 2003 de Microsoft Office.
En novembre 2005, Microsoft a annoncé qu'elle allait co-parrainer la normalisation de la nouvelle version de ses formats basés sur XML par le biais d'Ecma International sous le nom de « Office Open XML ». La présentation a été faite à l'Ecma par Jean Paoli et Isabelle Valet-Harper de Microsoft.
Processus de normalisation
Microsoft a soumis le matériel initial au Comité technique international TC45 de l'Ecma, où il a été normalisé pour devenir l'ECMA-376, approuvé en décembre 2006.
Cette norme a ensuite été soumise à un examen accéléré au sein du Comité technique mixte 1 de l'ISO et de la CEI. Après avoir initialement échoué , une version modifiée du format a reçu les votes nécessaires pour être approuvée en tant que norme ISO/CEI à l'issue d'un processus de normalisation accéléré du JTC 1 qui s'est terminé en avril 2008. La norme internationale en quatre parties qui en a résulté (appelée ISO/CEI 29500:2008) a été publiée en novembre 2008 et peut être téléchargée à partir de l' ITTF . Un ensemble de textes techniquement équivalents est publié par l'Ecma sous le titre ECMA-376 Office Open XML File Formats—2nd edition (décembre 2008) ; ils peuvent être téléchargés à partir de leur site Web.
La normalisation ISO/IEC d'Office Open XML a été controversée et amère, avec de nombreuses discussions à la fois sur la spécification et sur le processus de normalisation. Selon InfoWorld , « OOXML a été rejeté par beaucoup au motif qu'il n'était pas nécessaire, car les fabricants de logiciels pouvaient utiliser OpenDocument Format (ODF), un format de logiciel de bureautique moins compliqué qui était déjà une norme internationale. » Le même article d'InfoWorld rapportait qu'IBM (qui prend en charge le format ODF ) avait menacé de quitter les organismes de normalisation qui, selon lui, permettaient aux entreprises dominantes comme Microsoft d'exercer une influence indue. L'article indique en outre que Microsoft a été accusé de s'approprier le processus de normalisation en faisant pression sur les pays pour s'assurer qu'il obtienne suffisamment de voix à l'ISO/IEC pour que Office Open XML soit adopté, bien qu'il ne précise pas exactement qui a accusé Microsoft.
Licences
En vertu du code de conduite international de l'ECMA en matière de brevets, les organisations membres participantes et approbatrices de l'ECMA sont tenues de mettre leurs droits de brevet à disposition sur une base raisonnable et non discriminatoire (RAND).
Les détenteurs de brevets concernant les normes internationales ISO/CEI peuvent accepter une licence normalisée régissant les conditions dans lesquelles ces brevets peuvent être concédés sous licence, conformément à la politique commune de brevets ISO / CEI / UIT .
Microsoft, principal contributeur à la norme, a pris l'engagement de ne pas poursuivre en justice pour ses licences de brevets. L'engagement a reçu un accueil mitigé, certains comme le blog Groklaw l'ayant critiqué et d'autres comme Lawrence Rosen (avocat et professeur à la Stanford Law School ) l'ayant approuvé
Microsoft a ajouté le format à sa promesse de spécification ouverte dans lequel
Microsoft s'engage irrévocablement à ne faire valoir aucune réclamation Microsoft nécessaire à votre encontre pour la fabrication, l'utilisation, la vente, la mise en vente, l'importation ou la distribution de toute implémentation dans la mesure où elle est conforme à une spécification couverte [...]
Cela est limité aux applications qui ne s'écartent pas de la norme ISO/IEC 29500:2008 ou Ecma-376 et aux parties qui ne « déposent pas, ne maintiennent pas ou ne participent pas volontairement à une action en justice pour violation de brevet contre une mise en œuvre Microsoft de cette spécification couverte ». La promesse de spécification ouverte a été incluse dans les documents soumis à l'ISO/IEC à l'appui de la soumission accélérée ECMA-376. Ecma International a affirmé que « l'OSP permet à la fois aux logiciels open source et commerciaux de mettre en œuvre [la spécification] ».
Versions
La spécification Office Open XML existe en plusieurs versions.
ECMA-376 1ère édition (2006)
La norme ECMA est structurée en cinq parties pour répondre aux besoins de différents publics.
- Partie 1. Les fondamentaux
-
- Vocabulaire, conventions de notation et abréviations
- Résumé des langages de balisage principaux et secondaires
- Conditions de conformité et directives d'interopérabilité
- Contraintes dans les conventions Open Packaging qui s'appliquent à chaque type de document
- Partie 2. Conventions d'emballage ouvertes
-
- Les conventions Open Packaging Conventions (OPC), pour le modèle de package et le package physique, sont définies et utilisées par différents types de documents dans différentes applications de plusieurs fournisseurs.
- Il définit les propriétés principales, les vignettes, les signatures numériques et les capacités d'autorisation et de cryptage pour une partie ou la totalité du contenu du package.
- Les schémas XML pour l'OPC sont déclarés en tant que définitions de schéma XML (XSD) et (de manière non normative) à l'aide de RELAX NG (ISO/IEC 19757-2)
- Partie 3. Introduction
-
- Introduction informative (non normative) à WordprocessingML, SpreadsheetML, PresentationML, DrawingML, VML et Shared MLs, fournissant un contexte et illustrant les éléments à l'aide d'exemples et de diagrammes
- Décrit la fonction de stockage de données XML personnalisée au sein d'un package pour prendre en charge l'intégration avec les données d'entreprise
- Partie 4. Référence du langage de balisage
-
- Contient le matériel de référence pour WordprocessingML, SpreadsheetML, PresentationML, DrawingML, Shared MLs et Custom XML Schema, définissant chaque élément et attribut, y compris la hiérarchie des éléments (relations parent/enfant)
- Les schémas XML pour les langages de balisage sont déclarés comme XSD et (de manière non normative) à l'aide de RELAX NG
- Définit la fonction de stockage de données XML personnalisée
- Partie 5. Compatibilité et extensibilité du balisage
-
- Décrit les fonctionnalités d'extension des documents OpenXML et spécifie les éléments et attributs grâce auxquels les applications peuvent fonctionner sur différentes extensions.
Les versions ultérieures de la norme ECMA-376 sont alignées et techniquement équivalentes à la norme ISO correspondante.
ISO/CEI 29500:2008
La norme ISO/CEI est structurée en quatre parties : Les parties 1, 2 et 3 sont des normes indépendantes ; par exemple, la partie 2, spécifiant les conventions de packaging ouvert , est utilisée par d'autres formats de fichiers, notamment XPS et Design Web Format . La partie 4 doit être lue comme une modification de la partie 1, qu'elle impose.
Un ensemble de textes techniquement équivalent est également publié par Ecma sous le titre ECMA-376 2e édition (2008).
- Partie 1. Principes fondamentaux et référence du langage de balisage
- Composée de 5560 pages, cette partie contient :
- Définitions de conformité
- Documents de référence pour les langages de balisage de documents XML définis par la norme
- Schémas XML pour les langages de balisage de documents déclarés à l'aide de XSD et (de manière non normative) de RELAX NG
- Définit les fonctionnalités de balisage étrangères
- Partie 2. Conventions d'emballage ouvertes
- Composée de 129 pages, cette partie contient :
- Une description des conventions d'emballage ouvertes (modèle d'emballage, emballage physique)
- Propriétés principales, vignettes et signatures numériques
- Les schémas XML pour l'OPC sont déclarés à l'aide de XSD et (de manière non normative) de RELAX NG
- Partie 3. Compatibilité et extensibilité du balisage
- Composée de 40 pages, cette partie contient :
- Une description des extensions : éléments et attributs qui définissent des mécanismes permettant aux applications de spécifier des moyens alternatifs de négociation de contenu
- Les règles d'extensibilité sont exprimées à l'aide de NVDL
- Partie 4. Caractéristiques de la migration transitoire
- Composée de 1464 pages, cette partie contient :
- Contenu hérité tel que les paramètres de compatibilité et le langage de balisage graphique VML
- Une liste des différences syntaxiques entre ce texte et la 1ère édition de l'ECMA-376
La norme spécifie deux niveaux de conformité des documents et des applications, strict et transitoire, pour chacun des WordprocessingML, PresentationML et SpreadsheetML, et spécifie également les descriptions des applications de base et complètes .
Compatibilité entre les versions
L'objectif des modifications de la première édition de l'ECMA-376 à la norme ISO/IEC 29500:2008 était qu'un document ECMA-376 valide soit également un document de transition ISO 29500 valide ; cependant, au moins une modification introduite au BRM (le refus d'autoriser d'autres valeurs pour xsd:boolean) a eu pour effet de rompre la compatibilité ascendante pour la plupart des documents. Une solution à ce problème a été suggérée à l'ISO/IEC JTC 1/SC 34 /WG 4 et a été approuvée en juin 2009 en tant que recommandation pour la première révision d'Office Open XML.
Les applications capables de lire des documents conformes à la norme ECMA-376 Édition 1 considéreraient les documents transitoires ISO/IEC 29500-4 contenant des dates ISO 8601 comme corrompus.
Assistance aux applications
Certaines versions plus anciennes de Microsoft Word et Microsoft Office sont capables de lire et d'écrire .docxdes fichiers après l'installation du pack de compatibilité gratuit fourni par Microsoft, bien que certains éléments, tels que les équations, soient convertis en images qui ne peuvent pas être modifiées.
À partir de Microsoft Office 2007 , les formats de fichiers Office Open XML sont devenus le format de fichier par défaut de Microsoft Office . Cependant, en raison des modifications introduites dans la norme Office Open XML, Office 2007 n'est pas entièrement conforme à la norme ISO/IEC 29500:2008. Office 2010 inclut la prise en charge de l'ouverture de documents de la version conforme à la norme ISO/IEC 29500:2008 d'Office Open XML, mais il ne peut enregistrer que des documents conformes aux schémas transitoires , et non stricts , de la spécification. Notez que l'intention de la norme ISO/IEC est de permettre la suppression de la variante transitoire de la norme ISO/IEC 29500. Microsoft Office 2013 et les versions ultérieures prennent entièrement en charge la norme ISO/IEC 29500 Strict, mais ne l'utilisent pas comme format de fichier par défaut en raison de problèmes de compatibilité ascendante.
La capacité de lire et d'écrire le format Office Open XML n'est cependant pas limitée à Microsoft Office ; d'autres produits bureautiques sont également capables de lire et d'écrire ce format :
- Collabora Online pour les applications en ligne, mobiles et de bureau peuvent ouvrir et enregistrer des fichiers Office Open XML.
- SoftMaker Office 2010 est capable de lire et d'écrire
DOCXdesXLSXfichiers dans ses applications de traitement de texte et de tableur. - LibreOffice est capable d'ouvrir et d'enregistrer des fichiers Office Open XML.
- Apache OpenOffice à partir de la version 3.0 peut importer des fichiers Office Open XML mais pas les enregistrer. La version 3.2 a amélioré cette fonctionnalité avec un support de lecture même pour les fichiers Office Open XML protégés par mot de passe.
- Le fork Go-oo d'OpenOffice pourrait également écrire des fichiers OOXML.
- KOffice à partir de la version 2.2 et ultérieure était capable d'importer des fichiers OOXML.
- Calligra Suite est capable d'importer des fichiers Office Open XML.
- NeoOffice , un fork d'OpenOffice.org pour OS X peut importer, a pris en charge l'enregistrement au format OOXML en 2017, NeoOffice a été abandonné en 2024.
- Éditeurs OnlyOffice , Online et Desktop compatibles avec les fichiers OOXML et OpenDocument
D'autres produits bureautiques offrant une prise en charge de l'importation pour les formats Office Open XML incluent :